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

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

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 . 

其他回答

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

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

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

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

在你的项目文件夹中通过shell导航并运行以下命令:

mvn -U clean install

通常这已经解决了你的问题。

如果你看到这样的消息:

无法解决project:war:0.0.1-SNAPSHOT:在com.sun.jersey:jersey-server:jar:1.9收集依赖项失败

然后执行:

export MAVEN_OPTS=-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2

紧随其后的是:

mvn -U clean install

最后更新你的依赖项。

然后执行清洁的maven构建:

maven clean install

我在eclipse中遇到了这个问题,mvn - u清洁安装不工作,但右键单击项目并选择Maven->更新项目修复了它。

我知道我来晚了,但我也有这个问题。我认为问题出在公司的防火墙上。我的解决方案是断开网络,连接到开放的无线网络,然后通过Eclipse强制更新。这就解决了一切问题。