【发布时间】:2010-03-05 15:40:49
【问题描述】:
如果我的项目中有 6 个模块,是否可以只构建六个模块中的一个?不评论别人?
编辑
子模块本身不会工作,因为或父标签。我需要先安装父级以使其构建。不安装父级怎么办
【问题讨论】:
如果我的项目中有 6 个模块,是否可以只构建六个模块中的一个?不评论别人?
编辑
子模块本身不会工作,因为或父标签。我需要先安装父级以使其构建。不安装父级怎么办
【问题讨论】:
是否可以只建造六分之一?不评论别人?
我的理解是,您想从聚合项目(即反应堆构建)启动 maven,但只构建一个模块。这可以使用 -pl, --projects 项目列表 选项(参见advanced reactor options):
mvn --projects my-submodule install
这是一个非常强大的选项,尤其是与--aslo-make(也可以构建列出的模块所依赖的项目)或--also-make-dependents(也可以构建依赖于列出的模块的项目)结合使用时。根据您的更新,您实际上可能想要这样:
mvn --projects my-submodule --also-make install
从您要构建的模块的目录启动 Maven 当然是一种选择,但这不允许您执行上述操作,也不允许您构建所有模块的子集。对于此类用例,先进的反应堆选项是可行的方法。
【讨论】:
打开一个命令外壳,导航到子模块目录并执行mvn install(或任何您喜欢的生命周期)应该可以解决问题。
【讨论】:
您可以通过进入此模块目录并运行mvn clean install 来简单地构建模块。
但是,请注意,使用此方法,与其他模块的依赖关系将从您的本地存储库(或企业存储库)获取。
我们举个简单的例子:
project
+ commons
+ business
现在,假设您在 root 目录中使用mvn clean install 命令构建整个项目。考虑到您所有的模块都在版本1.0。
现在,您移至版本 1.1。如果您只在business 项目上运行mvn clean install,它将尝试获取模块commons 的1.1。然后您将遇到错误,因为 Maven 在您的本地存储库中找不到任何版本 1.1。
【讨论】:
在 Eclipse 中,假设您安装了 m2eclipse:右键单击相关模块并选择 Run As -> Maven package。
【讨论】: