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

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

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时,它也没有报告任何错误。

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


当前回答

你可以尝试mvn -U clean install

-U强制检查远程存储库上的更新版本和快照。

其他回答

我在eclipse中遇到了同样的问题,其中maven构建命令行工作得很好,但是 试试这个

进入.m2/repository并擦除相关目录 在eclipse中运行更新maven依赖项

错误消失....为什么我的mvn命令行工作与这些目录和eclipse .m2eclipse不能,我不知道,这有点糟糕。我的项目现在又在eclipse中工作了。

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

我通过删除除了.jar和.pom文件以外的所有显示此错误的存储库文件夹来解决这个问题。

如果您正在使用Eclipse,右键单击您的项目-> Maven ->更新项目。它将打开“更新Maven项目”对话框。

在该对话框中,选中强制更新快照/发布复选框并单击确定。(请参考下图)

这对我很管用!

对我来说,这似乎实际上是依赖POM的问题。

我通过使用jitpack虚拟存储库解决了这个问题,可以根据它们的URL而不是它们自己的POM包括github存储库(在我的例子中,这似乎是错误的)。

    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>