0

有没有办法在构建完整的反应堆项目时选择性地指定要安装的模块?

本质上,我想打包完整的反应堆内容,但只安装一些。

4

2 回答 2

0

不; 一次 Maven 调用将对所有模块使用相同的阶段。

您可以链接调用;例如:

mvn package && mvn -pl web-app install

但是然后依赖项web-app将从您的本地存储库中获取,而不是从第一次调用中使用的反应器中获取。

最安全的选择是(如在Maven Modules + Building a Single Specific Module中)仅使用-am-pl安装特定模块及其所有依赖项:

mvn -pl web-app -am install

请注意,这仍然会安装其他模块,但只会安装那些需要构建的模块web-app

于 2014-06-09T07:16:06.167 回答
0

有许多选项可让您在 Maven 中管理模块化项目。

恢复构建

如果您想告诉 Maven Reactor 从特定项目恢复构建,-rf 或 --resume-from 选项会派上用场。如果您正在处理大型多模块项目并且想要重新启动在 Reactor 中的特定项目上构建,而不运行构建顺序中它之前的所有项目。

示例mvn --resume-from yourmodule install

指定项目子集

-pl 或 --projects 选项允许您从多模块项目中选择项目列表。如果您正在处理一组特定的项目,并且您不想在开发周期中等待多模块项目的完整构建,则此选项可能很有用。

示例mvn --projects yourmodule1,yourmodule2 install

制作项目的子集

如果您想运行较大构建的一部分,您可以将 -pl 或 --projects 选项与 -am 或 --also-make 选项一起使用。当您使用 -am 选项指定项目时,Maven 将构建指定项目所依赖的所有项目(直接或间接)。Maven 将检查项目列表并沿着依赖关系树向下走,找到它需要构建的所有项目。

示例mvn --projects sample-services --also-make install

您可以在Maven上找到更多详细信息:完整的参考资料

于 2014-06-09T07:11:03.907 回答