如何在命令行

时间:2015-12-17 20:03:00

标签: maven

据称,您可以在命令行中排除模块,例如通过运行

之类的命令
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文件。

2 个答案:

答案 0 :(得分:12)

让我们在您的父pom.xml中说,您的模块结构是这样的:

enter image description here

然后,如果我想排除模块"核心"和" app1",命令是:

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

因此-pl标志的最终结果是:

enter image description here

注意:

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

在&#34之前放置-pl标志;清理安装&#34;。

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

如果没有设置-pl标志,这就是构建的样子: enter image description here

答案 1 :(得分:1)

如果您有一个名为app-server的模块,则可以尝试以下操作:clean install -pl !app-server.--

For learning more