将 Maven 用于多模块项目时,例如:
/pom.xml
/project-a/pom.xml
/project-b/pom.xml
如果根 POM 构建模块 A 和 B,并且 B 依赖于 A,当我运行 mvn package
并从 < strong>根 POM:
问:B 的构建是否从当前构建“reactor”中拉取以定位 A 的依赖项? (即 A 中正在构建的更改)还是总是到本地存储库?
基本上,当 B 所依赖的 A 发生变化时,我想弄清楚是否需要运行 mvn install
,或者我是否可以运行 mvn package
以节省一些时间。
最佳答案
如果您通过 mvn clean package
或 mvn clean verify
从根目录运行它(如果您有集成测试),依赖项将在 react 器中解决。
这意味着您永远不需要执行 mvn clean install
。如果您遇到需要在多模块构建上执行 mvn clean install
的情况,这意味着您的模块内的依赖关系不正确。
不,它不会转到 reactor 中包含的模块的远程存储库。
关于java - Maven 多模块依赖解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55433668/