如果我的项目中有6个模块,是否可以只构建六个模块中的一个?没有评论别人?
修改
子模块将无法使用itselft或父标签。我需要先安装父进程才能进行构建。如何在不安装父
的情况下完成答案 0 :(得分:10)
是否有可能只建造六个中的一个?没有评论别人?
我的理解是你想从聚合项目(即反应堆构建)启动maven,但只构建一个模块。可以使用 -pl
,--projects
项目列表选项(请参阅advanced reactor options):
mvn --projects my-submodule install
这是一个非常强大的选项,特别是与--aslo-make
(也用于构建列出的模块所依赖的项目)或--also-make-dependents
结合使用时(以构建依赖于列出的项目)模块)。根据您的更新,您可能实际需要这样:
mvn --projects my-submodule --also-make install
从您要构建的模块目录中启动Maven当然是一个选项,但这不允许您执行上述操作,也不能构建所有模块的子集。对于此类用例,先进的反应堆选项是可行的方法。
答案 1 :(得分:3)
打开一个命令shell,导航到子模块目录并执行mvn install
(或者你喜欢的生命周期)应该可以解决问题。
答案 2 :(得分:2)
您可以通过进入此模块目录并运行mvn clean install
。
但请注意,使用此方法时,将从本地存储库(或entreprise存储库)中获取与其他模块的依赖关系。
我们举一个简单的例子:
project
+ commons
+ business
现在,假设您使用mvn clean install
命令在 root 目录上构建整个项目。请考虑所有模块都使用版本1.0
。
现在,您转到版本1.1
。如果您仅在mvn clean install
项目上运行business
,则会尝试获取模块1.1
的{{1}}。然后您将收到错误,因为Maven在您的本地存储库中找不到任何版本commons
。
答案 3 :(得分:0)
在Eclipse中,假设您安装了m2eclipse:右键单击相关模块并选择Run As - > Maven包。