【问题标题】:maven dependency issue with parent-child reference父子引用的maven依赖问题
【发布时间】:2013-08-25 16:48:33
【问题描述】:

我在 Windows 上使用 apache maven 3.1.0(经过相当长的一段时间后)用于由其他人组合的项目。我有一个父 pom 和多个子 pom xml 文件。子 pom 包含以下内容,这在我运行 mvn clean install 时会导致问题:

<parent>
    <groupId>com.test.platform</groupId>
    <artifactId>test-parent</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <relativePath>../pom.xml</relativePath>
</parent> 

我从 mvn -e 得到的错误指向一个依赖问题,因为无法找到工件(参考 0.0.1-SNAPSHOT)。我不确定我是否缺少步骤或需要使用我的项目/pom xml 文件更改某些内容。欢迎任何有用的建议(如果需要,我可以发布更详细的错误消息)。谢谢!

更新: 我也尝试向子 pom xml 文件添加相对路径,尽管它仍然给我一个错误。

目录结构:

  Main Directory -> pom.xml file 
        Child Directory -> pom.xml file (with parent tag) - I added the relative section to it as well.  

【问题讨论】:

  • 你能发布你项目的目录结构和 pom.xml 文件位置吗?
  • @Andrew - 感谢您的评论 - 我添加了结构(如果不清楚,请告诉我)。引用父 pom 的 pom.xml 是其中的一个目录(我尝试添加 relativePath 但它现在不起作用)。
  • relativePath 仅当您具有自定义目录结构时才需要设置。在你的情况下,它是不需要的。很可能,您的父级(或组或工件)的版本与您在子模块中定义的不同。

标签: java maven maven-3 pom.xml parent-pom


【解决方案1】:

有趣的是,Introduction to the POM 显示 relativePath 直接指向 pom.xml 文件,而 POM reference 显示 relativePath 指向父模块/项目,而不是 pom。也许它支持两者,但我可以告诉你,我现在正在查看的项目(有效)有&lt;relativePath&gt;../myParentProject&lt;/relativePath&gt;

也许您可以尝试将项目中的相对路径设置为../

当然,这一切都假设你的存储库中是否存在父级的 0.0.1-SNAPSHOT 这个问题的答案是肯定的。

【讨论】:

  • 谢谢 - 我已经添加了 relativePath 但它没有解决问题(除非我误解了你的回复)。谢谢分享!
  • 我的意思是您根据您的问题将 relativePath 设置为 ../pom.xml,我想知道您是否尝试将其设置为 POM 参考显示的 ../
  • 我尝试了您的建议,但没有成功 - 再次感谢您的分享。我可能需要花更多的时间来调试。 +1 的努力。
  • 请粘贴 maven 给您的确切错误。您的本地 maven 存储库中是否有 0.0.1-SNAPSHOT 版本的父工件?
猜你喜欢
  • 2020-10-21
  • 1970-01-01
  • 1970-01-01
  • 2021-12-06
  • 2011-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-26
相关资源
最近更新 更多