Java maven如何解析父pom?

Java maven如何解析父pom?,java,maven,maven-3,dependency-management,multi-module,Java,Maven,Maven 3,Dependency Management,Multi Module,我遇到了一个问题,我想理解它 故事 Maven版本是3.2.1。我的多模块项目结构如下: mainmoduleA -pom.xml -submoduleB --pom.xml --submoduleC ---pom.xml -submoduleD --pom.xml --submoduleE ---pom.xml 子模块始终是父文件夹中模块的子模块。他们的POM中的parent元素中都没有relativePath,这意味着据我所知。/POM.xml。问题是,submoduleC已经成为一个新的

我遇到了一个问题,我想理解它

故事 Maven版本是3.2.1。我的多模块项目结构如下:

mainmoduleA
-pom.xml
-submoduleB
--pom.xml
--submoduleC
---pom.xml
-submoduleD
--pom.xml
--submoduleE
---pom.xml
子模块始终是父文件夹中模块的子模块。他们的POM中的
parent
元素中都没有
relativePath
,这意味着据我所知
。/POM.xml
。问题是,
submoduleC
已经成为一个新的依赖项,
submoduleE
已经依赖于
submoduleC
submoduleC
的新依赖项版本在
mainmoduleA
中管理。在本地存储库和公司存储库中,仍然是
mainmoduleA
的旧版本,其中不包含该托管版本。然而,工作区文件夹结构包含正确的
mainmoduleA
POM如果我单独构建了
submoduleE
submoduleC
的可传递依赖项将被忽略,因为缺少托管版本,结果是编译错误

解决优先级 maven查找父pom的可能性顺序是什么?

根据我以上的经验:

  • maven本地存储库
  • maven远程存储库
  • 在文件夹结构中根据父项标记的相对路径标记进行跟踪

  • 我对上面的陈述正确吗?你能证明吗?我没有找到任何相关的文档。

    奇怪的是,我的经验是,如果跟踪
    relativePath
    路径没有问题,本地目录是顺序中的第一个。@Tome:我也是。但今天它的表现不同了,我感到困惑。第一次测试这种多模块构建是。清理整个本地存储库,并尝试通过
    mvn Clean package
    构建。这必须能够正常工作,否则会出现其他问题。