Maven部分安装

时间:2014-06-09 06:22:00

标签: maven maven-reactor

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

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

2 个答案:

答案 0 :(得分:0)

有许多选项可以让您管理maven中的modulare项目。

恢复构建

  

如果你想告诉Maven Reactor从特定项目恢复构建,-rf或--resume-from选项可以派上用场。如果你正在使用一个大的多模块项目,这可能很有用   并且您希望在Reactor中的特定项目上重新启动构建,而无需遍历所有项目   在构建顺序中位于其前面的项目。

示例 mvn --resume-来自你的模块安装

指定项目子集

  

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

示例 mvn --projects yourmodule1,yourmodule2 install

制作项目子集

  

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

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

您可以在Maven: The complete references

上找到更多详情

答案 1 :(得分: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所需的模块。