2012-11-07 30 views
35

有没有办法从大反应器构建中排除一些模块,类似于-pl?如何使用命令行从Maven构建中排除某些模块

这里有很多方法可以做到这一点坚持:

How to exclude a module from a Maven reactor build?

我想从外壳做到这一点,或至少不修改劲歌,这我不能更改。

+0

使用配置文件似乎是我最简单,最正确的方法。 –

+0

@AndrewLogvinov可以在settings.xml中完成吗?关闭每个配置文件的测试将不会在中央poms赞赏。 ;-) – Bastl

回答

59

的Maven 3.2.1增加了这个功能,你可以用它来指定要确切的项目(或排除您不希望项目)-pl--projects以下是如何排除二:

-pl "!<modulename>,!<modulename2>" 

用于排除某些模块。这可以是要包含/排除的值的逗号分隔列表。

+1

不适用于窗口。有不同的关键词!窗户? – iMBMT

7

我不认为这是目前可以从命令行。在maven3中有一个针对这个事情的开放功能请求(http://jira.codehaus.org/browse/MNG-5230)。

看起来你现在唯一的选择就是修改pom并创建一个新的构建配置文件,其中只包含你想要构建的模块。

+0

显示它已执行... – rogerdpack

8

由于Yogesh_D写它可以与-pl参数来完成与Maven 3.2.1+

下面是一个例子:

> mvn clean install -amd -pl !module,!module/submodule 

你需要列出每个子模块(和子子 - 模块等)手动,它不会递归地排除它们。使用斜线进行包分离。这是文件夹路径,而不是组或工件ID。

+0

没有这个信息,接受的答案没有工作 –

34

上公认的答案另一个意见,不要忘记在bash运行命令时逃跑的感叹号:

> mvn clean install -pl \!module,\!module/submodule,\!groupId:artifactId 
+0

或用引号包围:) – rogerdpack

+0

单引号('),即 – dstibbe