[英]Define modules list which shall be build in Maven multiproject build
我想使用Maven -pl选项来定义哪些特定模块应包含在reactor中。 如果提供了模块路径列表,则该选项有效。 不幸的是,提供模块的artifactIds根本不起作用。 Sonatype'Maven:The Complete Reference'文档正在使用多项目示例,其中目录名称与artifactIds匹配:
http://books.sonatype.com/mvnref-book/reference/_using_advanced_reactor_options.html
是否可以在artifactId中使用-pl选项?
是的,可以这样做。 看看mvn --help
:
-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.
特别注意,没有前导groupId
的artifactId
仍然具有前导冒号。
因此,例如,在artifactId
与目录名相同的情况下,这三行将全部引用Maven中的相同模块:
mvn -pl maven-core
mvn -pl :maven-core
mvn -pl org.apache.maven:maven-core
mvn
似乎很-pl
为您提供的列表,而不会自动建立任何依赖关系。
因此,除了Joe的回答:如果您要构建的项目/模块依赖于其他模块,那么您也可以要求mvn
使用-am
来构建它们。
-am,--also-make
If project list is specified, also build projects required by the list
如果指定了项目列表 =如果使用-pl
选项
因此,示例变为:
mvn -pl maven-core -am
mvn -pl :maven-core -am
mvn -pl org.apache.maven:maven-core -am
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.