如何从命令行激活maven配置文件(到构建子系统)

时间:2015-07-27 15:36:11

标签: java maven multi-module maven-profiles

我有一个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 p1mvn package -P p2

两个配置文件均可见,但无法使用-P开关

激活
mvn help:all-profiles -P p1

other project

一起使用

这里缺少什么来激活配置文件或什么是构建子系统的更好方法?

我已阅读How to activate a Maven profile in a dependent module?

3 个答案:

答案 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