如何通过命令行激活Maven配置文件(以构建子系统)

3

我有一个Maven项目 https://github.com/paulvi/MavenMultiModule1

其中根目录下的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

这与其他项目配合工作

激活配置文件的关键是什么?或者有没有更好的构建子系统的方法?

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


我已经尝试过带空格和不带空格两种方式。 - Paul Verest
那有什么问题吗?你期望得到什么,实际上又得到了什么? - Tomasz W
3个回答

6
你的问题在于声明时,缺少了一个“;”。
<modules>
    <module>MavenModule1</module>
    <module>MavenModule2</module>
</modules>

这些总是构建好的。 只需删除前4行,它就可以按预期工作。

现在您可以通过输入以下命令来构建MavenModule1:

-P p1

通过以下两种方式:

-P p1,p2

等等其他类似的内容。


考虑将所有模块添加到默认配置文件中,这是CI应该采用的方式。 - Paul Verest

5

-1

你应该移除那个空格,然后它就能正常工作了。

使用

mvn package -Pp1


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接