【问题标题】:"Failed to read artifact descriptor" when compiling maven-dependency-plugin:编译 maven-dependency-plugin 时“无法读取工件描述符”:
【发布时间】:2015-06-24 17:54:56
【问题描述】:

我需要更改 maven 依赖插件以满足我组织的独特需求。

我已经从http://maven.apache.org/plugins/maven-dependency-plugin/download.cgi下载了源代码

当我查看它的 pom 时,我看到它定义了一个这样的父 pom:

<parent>
    <artifactId>maven-plugins</artifactId>
    <groupId>org.apache.maven.plugins</groupId>
    <version>27</version>
    <relativePath>../maven-plugins/pom.xml</relativePath>
  </parent>

这让我明白这个项目不能独立构建,至少不是我拥有的版本。

当尝试运行 mvn clean install 时,我收到以下错误:

无法下载工件:无法读取工件描述符 org.apache.maven:maven-model:jar:2.0.9

有趣的是,它确实存在于我的本地 .m2 存储库中。

如果我想对 maven 插件做出贡献或更改,我真的必须拥有整个环境还是有办法独立构建它?

我正在使用 maven 3.0.4 和 Nexus。

【问题讨论】:

  • 父级也在 Maven 中心。所以我想一旦你删除 relativePath 行(或者尝试一个空的
  • @wemu,你的建议奏效了!甚至没有想过删除 relativePath 属性:-) 请发表您的评论作为答案。

标签: maven maven-3 maven-dependency-plugin


【解决方案1】:

父pom可以在maven central中找到。

所以从&lt;parent&gt; 中删除&lt;relativePath&gt; 语句就足够了。有时空的&lt;relativePath /&gt; 也有助于告诉 maven 从存储库中解析 pom,而不是尝试通过项目中的相对路径找到它。

如果父级不在 maven 存储库中,您可以将其放置在那里 - 或者您需要在更高级别上签出版本控制项目,以便路径实际上与本地结构匹配。

【讨论】:

    【解决方案2】:

    当我尝试构建指定的插件时,我没有遇到任何问题。

    您得到的错误与 maven-model 插件有关,如果它存在于您的 .m2 目录中,您应该:

    1. 检查 settings.xml 中指定的存储库是否是您的个人 .m2/repository 目录
    2. 如果是,只需清理 maven 缓存并强制更新快照

    【讨论】:

      猜你喜欢
      • 2011-10-02
      • 2011-07-03
      • 1970-01-01
      • 2018-10-20
      • 1970-01-01
      • 1970-01-01
      • 2019-02-27
      • 2019-08-10
      • 2016-05-08
      相关资源
      最近更新 更多