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

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

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

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


当前回答

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

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

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

其他回答

如果您有一些引用父pom的子项目,并且您没有从父pom目录安装(从父目录运行mvn install),则可能发生此问题。其中一个子项目可能依赖于一个兄弟项目,当它读取兄弟项目的pom时,它将失败,并出现问题中提到的错误,除非您至少从父pom目录安装过一次。

我刚刚在把一个项目转移到一台新电脑上时遇到了这个问题。我习惯在子项目上运行命令,而不在父项目上运行install。

对我来说,这与设置内部的“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 . 

我在使用IntelliJ时也遇到了同样的问题。我解决了右键单击pom.xml > Maven >重新导入

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

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

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

这个错误基本上是说maven无法从本地存储库读取某个依赖项。这可能是因为jar文件没有正确下载。因此,转到maven本地存储库,确保没有任何. lastupdated扩展文件。