在我最近的项目中被介绍给 Maven 之后,在过去的几周里我一直在试验它。
我目前在我的开发环境中有一个多模块项目。项目“A”和项目“B”是项目“根”的子模块,B 依赖于 A。
我知道我可以按照此处概述的方式独立构建B。但是,我很好奇为什么我不允许从 B 的根文件夹中构建 B。mvn reactor:make...
clean install
为了说明这一点,我首先通过在 A 的根目录中运行 a 来独立构建 A。但是,当我尝试从 B 的根目录执行相同操作时,Maven 报告如下错误 -
Could not find artifact org.divesh.mavenrnd:root:pom:1.0 in central
看起来 Maven 无法解析父级的 POM 文件。关于为什么会发生这种情况的任何想法?从我对Maven多模块项目的初步了解来看,将项目拆分成子模块的主要原因是为了共享依赖。但是,这不应该阻止我在其文件夹中独立构建特定模块。
谢谢。
编辑
运行mvn -N clean install
以仅在代表中安装根项目的 POM。在此之后,我能够在构建和安装 A 之后成功构建 B。还有一件事我不太清楚 - 假设我已经在存储库中安装了根项目的 POM,如果我尝试构建 A,确实它是指直接在它上面的父根 POM 还是安装在存储库中的 POM?