据称,您可以在命令行上排除模块,例如通过运行类似的命令

mvn clean install -pl \!modulename 

这似乎不起作用(不再)。

顺便说一句,包含模块也不起作用
mvn clean install -pl modulename 

Maven reactor 将找不到模块并失败。
[ERROR] Could not find the selected project in the reactor: modulename -> [Help 1] 

模块 modulename然而确实存在。在进行普通构建时,Reactor 将在构建模块列表中生成其名称。
[INFO] modulename 

有没有办法在命令行上排除模块?如果可能的话,我不想更改 pom 文件。

请您参考如下方法:

假设在您的父 pom.xml 中,您的模块结构是这样的:



然后,如果我想排除模块“core”和“app1”,命令将是:

mvn -pl '!core,!app1' clean install 

所以带有 -pl 标志的最终结果是:



笔记:

放置来自父 pom.xml 的模块名称(如上),而不是 <name>在子模块中。

将 -pl 标志放在“全新安装”之前。

此外,分隔模块名称的每个逗号之间不应有空格。

这是没有设置 -pl 标志的构建的样子:


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!