我希望有人能帮助我解决一个我正在挣扎的问题。

当我试图从终端构建我的项目时,我得到这个错误:

Failed to read artifact descriptor for com.morrislgn.merchandising.common:test-data-utils:jar:0.3b-SNAPSHOT: Could not find artifact com.morrislgn.merchandising:merchandising:pom:0.3b-SNAPSHOT

常见的。Test-data-utils jar由一个单独的项目创建,并在这个项目和另一个项目之间共享(另一个项目也没有构建,但这是另一个问题)。

我能够毫无问题地构建com.morrislgn.merchandising.common:test-data-utils,我可以看到它在我机器上的.m2本地存储库中的条目。我还在Eclipse中重新索引了我的存储库。

我的项目的POM有这样的条目:

<dependency>
    <groupId>com.morrislgn.merchandising.common</groupId>
    <artifactId>test-data-utils</artifactId>
    <version>0.3b-SNAPSHOT</version>
</dependency>

这对我来说似乎是正确的——在Eclipse中查看POM时,它也没有报告任何错误。

谁能告诉我这里我缺了什么或做错了什么?


当前回答

对我来说,这与设置内部的“User setting .xml”有关

Window > preferences > Maven > User Settings > and then browsing to the user Settings inside the { maven unarchived directory / }/apache-maven-2.2.1/conf/settings.xml . 

其他回答

我知道我很勇敢,九年后的今天……

对我来说,这是一个没有找到子依赖的问题。我最终通过查看“错误日志”-视图找到了真正的问题,该视图在“构建”.行期间发生了内部错误。双击它会显示一个带有堆栈跟踪的弹出窗口,最后一个原因最终揭示了我本地存储库中的一个损坏的JAR。我清理了一下,Eclipse/m2e又可以工作了。

您提到了两个不同的groupid, com.morrislgn.merchandising.common和com.johnlewis.jec.webpim.common。也许这就是问题所在。

我也遇到过类似的问题。在我的例子中,.m2/repositories文件夹中的testng版本已经损坏,但当我删除它并再次进行maven更新时,一切都正常工作。

“读取工件描述符失败”问题通常表明maven存储库中依赖项的pom文件有问题。我建议您仔细检查pom文件的名称是否与maven期望的名称相同,并检查pom文件内容是否有效。

如果您正在使用Eclipse:

右键单击项目>属性> Maven 确保没有单击“从工作空间项目解析依赖项”。