【发布时间】:2020-01-02 16:52:39
【问题描述】:
我正在开发一个 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>
我想知道是否有办法在两个插件之间共享配置的公共部分,只需写下一次而不是多次。如果不是,在假设两种配置相同的情况下,这可能吗?
【问题讨论】:
-
找不到办法。您可以将所有属性外部化,但配置对象本身是插件的包含属性。我会挖掘更多.. 最坏的情况,你有机会写一个插件:-)
标签: java maven maven-plugin maven-surefire-plugin maven-failsafe-plugin