Maven从Parent构建特定的子项

时间:2016-08-09 05:54:45

标签: maven

我们可以在Maven中从父Pom构建特定的子节点。可以使用一个文件来提及要包含的模块的名称。

3 个答案:

答案 0 :(得分:1)

假设您的根项目有3个模块:module-Amodule-Bmodule-C

从根项目运行以下命令。

  • 如果您要构建module-C,请运行:mvn clean install –pl module-C
  • 如果module-C取决于module-A,请运行: mvn clean install –pl module-C –am来构建module-Amodule-C

答案 1 :(得分:1)

如果你在项目的根位置,你可以在Maven的命令行上简单地定义它:

mvn -pl ModuleYouWouldLikeToBuild package

摘自命令行帮助:

 -pl,--projects <arg>                   Comma-delimited list of specified
                                        reactor projects to build instead
                                        of all projects. A project can be
                                        specified by [groupId]:artifactId
                                        or by its relative path.

如果您希望构建的模块由其他模块使用,您可以决定让maven分析哪个模块并使用以下模块构建依赖模块:

mvn -pl Module  --also-make-dependents

或简短版本:

mvn -pl Module -amd

如果您有触发构建的模块使用的模块,您还可以添加:

mvn -pl Module --also-make

或简短版本:

mvn -pl Module -am

答案 2 :(得分:0)

您可以使用maven配置文件来实现此目的。

<project>
...
    <profiles>
        <profile>
            <id>build1</id>
            <activation>
                <property>build1</property>
            </activation>
            <modules>
                <module>module1</module>
            </modules>
        </profile>

        <profile>
            <id>build2</id>
            <activation>
                <file>
                    <exists>test2.file</exists>
                </file>
            </activation>
            <modules>
                <module>module2</module>
                <module>module3</module>
            </modules>
        </profile>
    </profiles>
</project>

您可以通过某些条件激活配置文件,例如。存在或丢失文件,现有属性等。

有关maven个人资料的更多信息: http://maven.apache.org/guides/introduction/introduction-to-profiles.html