java - 在同一 Maven 模块中的不同插件之间共享通用配置

标签 java maven maven-plugin maven-surefire-plugin maven-failsafe-plugin

我正在开发一个 Maven 项目,该项目在同一模块中使用 Surefire 和 Failsafe 插件。如您所见,除了一个元素 (classpathDependencyExcludes) 之外,这两个插件的配置几乎完全相同。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>3.0.0-M4</version>
    <configuration>
        <skipTests>${skipTests}</skipTests>
        <forkCount>1</forkCount>
        <reuseForks>false</reuseForks>
        <argLine>-javaagent:"${project.build.directory}/openejb-javaagent-${tomee.version}.jar"</argLine>
        <workingDirectory>${project.build.directory}</workingDirectory>
    </configuration>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    <version>3.0.0-M4</version>
    <configuration>
        <skipTests>${skipTests}</skipTests>
        <forkCount>1</forkCount>
        <reuseForks>false</reuseForks>
        <argLine>-javaagent:"${project.build.directory}/openejb-javaagent-${tomee.version}.jar"</argLine>
        <workingDirectory>${project.build.directory}</workingDirectory>
        <classpathDependencyExcludes>
            <classpathDependencyExclude>javax:javaee-api</classpathDependencyExclude>
        </classpathDependencyExcludes>
    </configuration>
</plugin>

我想知道是否有一种方法可以通过写一次而不是多次来共享两个插件之间配置的公共(public)部分。如果不是,假设两种配置相同,这可能吗?

最佳答案

首先,您不需要显式设置所有属性。 skipTests已经是 ${skipTests} 的值,无需重复。 forkCount已经是默认值1。

其他一些属性可以在 <properties> 中设置部分,例如 reuseForksargLine .

那么就没什么需要担心的了。

关于java - 在同一 Maven 模块中的不同插件之间共享通用配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59567095/

相关文章:

java - SAX 解析器 - 如何处理 .XML 文件中的错误数据

java - 何时使用 session Bean

java - 在 OS X Yosemite 10.10.4 中设置 JAVA_HOME

java - 为什么让 `This page isn' t 工作... ERR_TOO_MANY_REDIRECTS`?

eclipse - Mavenizing Ivy 管理现有项目依赖关系的最佳方式是什么

java - 如何使 spring @retryable 可配置?

java - 如何在Java中使用内联类中断线程

java - Maven 指定源位置

java - 使用多模块 Maven 应用程序的 Google App Engine 端点

maven - 使用maven-shade-plugin,但是依赖类不在最终的jar中