我有一个Maven项目https://github.com/paulvi/MavenMultiModule1
将root pom.xml作为
<modules>
<module>MavenModule1</module>
<module>MavenModule2</module>
</modules>
<properties>
</properties>
<profiles>
<profile>
<id>p1</id>
<modules>
<module>MavenModule1</module>
</modules>
</profile>
<profile>
<id>p2</id>
<modules>
<module>MavenModule2</module>
</modules>
</profile>
</profiles>
我希望能够单独构建子系统,
例如mvn package -P p1
和mvn package -P p2
两个配置文件均可见,但无法使用-P
开关
mvn help:all-profiles -P p1
一起使用
这里缺少什么来激活配置文件或什么是构建子系统的更好方法?
答案 0 :(得分:6)
你的问题是通过声明
<modules>
<module>MavenModule1</module>
<module>MavenModule2</module>
</modules>
总是建造它们。 只需删除前4行,它就会按预期工作。
现在您可以通过输入:
来构建MavenModule1-P p1
两者都输入:
-P p1,p2
等等。
答案 1 :(得分:5)
您不需要配置文件来构建特定模块,而是使用-pl
标志。
http://books.sonatype.com/mvnref-book/reference/_using_advanced_reactor_options.html
答案 2 :(得分:-1)
你应该删除该空间,它应该工作正常。
使用
mvn package -Pp1