我正在开发一个 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>
中设置部分,例如 reuseForks
和argLine
.
那么就没什么需要担心的了。
关于java - 在同一 Maven 模块中的不同插件之间共享通用配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59567095/