【问题标题】:Maven multi-module dependency resolutionMaven多模块依赖解析
【发布时间】:2019-08-21 08:28:35
【问题描述】:

将 Maven 与多模块项目一起使用时,例如:

/pom.xml
/project-a/pom.xml
/project-b/pom.xml

如果根 POM 构建模块 A 和 B,并且 B 依赖于 A,当我运行 mvn package 并从 根 POM 运行构建时强>:

问:B 的构建是否从当前构建“反应器”中提取以定位 A 的依赖项? (即 A 中的更改正在构建)还是 总是 转到本地存储库?

基本上,我想弄清楚当 A 中存在 B 所依赖的更改时是否需要运行 mvn install,或者我是否可以运行 mvn package 以节省一些时间。

【问题讨论】:

  • 如果您通过mvn clean packagemvn clean verify 从根目录运行它,则依赖关系将在反应器中解决。这意味着您永远不需要做mvn clean install。如果您曾经遇到需要在多模块构建中执行mvn clean install 的情况,这意味着您在模块中的依赖关系不正确。不,它不会转到反应堆中包含的模块的远程存储库...

标签: java maven


【解决方案1】:

如果您通过mvn clean packagemvn clean verify 从根目录运行它(如果您有集成测试),则依赖关系将在反应器内解决。

这意味着你永远不需要做mvn clean install。如果您曾经遇到需要在多模块构建中执行mvn clean install 的情况,这意味着您在模块中的依赖关系不正确。

不,它不会转到反应堆中包含的模块的远程存储库。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-25
  • 2014-11-18
  • 2014-09-09
  • 2014-04-15
  • 1970-01-01
  • 1970-01-01
  • 2017-05-27
相关资源
最近更新 更多