我使用多模块构建文件来触发一个相当复杂的 java 项目的构建。现在我想创建 eclipse 项目文件 - 但不是所有模块。是否可以在 pom 上定义,它应该忽略 eclipse:eclipse
目标?
我用 mvn eclipse:eclipse
调用的多模块 pom 的模块定义如下所示:
<modules>
<module>../project1/generate/pom.xml</module>
<module>../project1/pom.xml</module>
<module>../project2/generate/pom.xml</module>
<module>../project2/pom.xml</module>
<!-- and many more projects with or without generate sub modules -->
</modules>
当然,pom 不仅仅需要创建 eclipse 项目,因此我不能仅仅删除那些导致该目标出现问题的模块。
询问的原因:在 generate 模块上执行的 eclipse:eclipse
将更改 list 文件中的某些属性,从而导致下一个构建中断。我厌倦了一直手动纠正它们;)
最佳答案
您可以使用Maven Profiles为此。
删除您定义的模块并添加如下内容:
<profiles>
<profile>
<id>full</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<modules>
<module>../project1/generate/pom.xml</module>
<module>../project1/pom.xml</module>
<module>../project2/generate/pom.xml</module>
<module>../project2/pom.xml</module>
</modules>
</profile>
<profile>
<id>eclipse</id>
<modules>
<module>../project1/pom.xml</module>
<module>../project2/pom.xml</module>
</modules>
</profile>
</profiles>
然后当你想生成eclipse设置时:
mvn -Peclipse eclipse:eclipse
关于java - maven - 在多模块构建中禁用模块的专用目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13064624/