3

I have a Maven project https://github.com/paulvi/MavenMultiModule1

with root pom.xml as

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

I would like to be able to build subsystem separately,
e.g. mvn package -P p1and mvn package -P p2

Both profiles are visible but can't be activated with -P switch

mvn help:all-profiles -P p1

That work with other project

What is missing here to activate profile or what is better way to build subsystem?

I have read How to activate a Maven profile in a dependent module?

4

3 回答 3

6

你的问题是通过声明

<modules>
    <module>MavenModule1</module>
    <module>MavenModule2</module>
</modules>

那些总是被建造的。只需删除前 4 行,它就会按预期工作。

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

-P p1

两者都通过键入:

-P p1,p2

等等。

于 2015-07-27T17:28:31.453 回答
5

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

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

于 2015-07-27T16:59:53.400 回答
-1

您应该删除该空间,它应该可以正常工作。

利用

mvn包-Pp1

于 2015-07-27T17:16:06.210 回答