我是maven的新手,发现自己陷入了困扰我的事情。
我有一个多模块项目,我的父pom.xml包含以下插件:
<plugin>
<artifactId>maven-remote-resources-plugin</artifactId>
<executions>
<execution>
<id>process-remote-resources</id>
<goals>
<goal>process</goal>
</goals>
<configuration>
<resourceBundles>
<resourceBundle>
${shared.resources.version}
</resourceBundle>
</resourceBundles>
<includes>
<include>version.info</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>
此代码生成一个version.info文件,并将它们放在我的每个模块jar文件中。 我想知道是否可以使这个代码只为3个模块中的2个模块创建version.info文件。
例如,如果我有模块:A,B和C. 我希望version.info文件在A和B中但不在C中。 我希望我能够很好地解释自己,如果没有,请告诉我。
提前致谢, MENY
答案 0 :(得分:1)
最佳解决方案是将此插件配置移动到父pom的project / build / pluginManagement元素:
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-remote-resources-plugin</artifactId>
<executions>
<execution>
<id>process-remote-resources</id>
<goals>
<goal>process</goal>
</goals>
<configuration>
<resourceBundles>
<resourceBundle>
${shared.resources.version}
</resourceBundle>
</resourceBundles>
<includes>
<include>version.info</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
并在模块poms中的project / build / plugins中调用它:
<plugins>
<plugin>
<artifactId>maven-remote-resources-plugin</artifactId>
</plugin>
</plugins>
如果不允许对父pom进行重构,则使用skip设置为true覆盖插件配置,或使用none阶段禁用不需要的插件调用: http://thomaswabner.wordpress.com/2010/02/16/howto-disable-inherited-maven-plugin/