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

Pau*_*est 3 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>
Run Code Online (Sandbox Code Playgroud)

我希望能够单独构建子系统,
例如mvn package -P p1mvn package -P p2

两个配置文件都可见,但无法通过-P开关激活

mvn help:all-profiles -P p1
Run Code Online (Sandbox Code Playgroud)

其他项目合作

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

我已阅读如何在依赖模块中激活Maven配置文件?

小智 6

你的问题是通过声明

<modules>
    <module>MavenModule1</module>
    <module>MavenModule2</module>
</modules>
Run Code Online (Sandbox Code Playgroud)

这些都是建造的.只需删除前4行,它就会按预期工作.

现在您可以通过键入以下内容来构建MavenModule1:

-P p1
Run Code Online (Sandbox Code Playgroud)

两者都输入:

-P p1,p2
Run Code Online (Sandbox Code Playgroud)

等等.


Aiv*_*ean 5

您不需要配置文件来构建特定模块,-pl而是使用标志.

http://books.sonatype.com/mvnref-book/reference/_using_advanced_reactor_options.html