繁体   English   中英

定义将在Maven多项目构建中构建的模块列表

[英]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.

特别注意,没有前导groupIdartifactId仍然具有前导冒号。

因此,例如,在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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM