当使用Maven与多模块项目时,例如:
如果根POM构建模块A和B,且B“依赖于”A,当我从“根POM”运行
问题:对于B的构建,是否从当前构建“反应堆”中提取依赖项A?(即正在“构建”的A中的更改)还是它总是去本地存储库?
基本上,我想弄清楚当A发生更改并影响到B时,是否需要运行
/pom.xml
/project-a/pom.xml
/project-b/pom.xml
如果根POM构建模块A和B,且B“依赖于”A,当我从“根POM”运行
mvn package
进行构建时:问题:对于B的构建,是否从当前构建“反应堆”中提取依赖项A?(即正在“构建”的A中的更改)还是它总是去本地存储库?
基本上,我想弄清楚当A发生更改并影响到B时,是否需要运行
mvn install
,还是可以运行mvn package
以节省时间。
mvn clean package
或者mvn clean verify
从根目录运行它,依赖项将在反应堆内解决。这意味着您永远不需要执行mvn clean install
。如果您在多模块构建中遇到需要执行mvn clean install
的情况,那么这意味着模块内的依赖关系不正确。而且,对于包含在反应堆中的模块,它不会去远程仓库... - khmarbaise