2

在我们的项目中,我们使用工件

<dependency>
  <groupId>nl.jqno.equalsverifier</groupId>
  <artifactId>equalsverifier</artifactId>
  <version>1.7.5</version>
</dependency>

一切正常:Nexus 将与http://repo1.maven.org/maven2/nl/jqno/equalsverifier/equalsverifier/1.7.5/中相同的内容下载到其代理存储库。(Nexus 上工件详细信息中的“下载”列显示“pom,jar”)

现在,我们切换到工件的最新版本 2.0.2:

<dependency>
  <groupId>nl.jqno.equalsverifier</groupId>
  <artifactId>equalsverifier</artifactId>
  <version>2.0.2</version>
</dependency>

然后,当我们尝试构建项目时,尝试失败。Nexus 无法解析神器!Nexus 似乎没有下载工件版本的完整内容(Nexus 工件详细信息中的“下载”列显示“pom,pom”)。在另一个站点上,当我查看中央存储库中的工件时,内容与往常一样:http ://repo1.maven.org/maven2/nl/jqno/equalsverifier/equalsverifier/2.0.2/ 。

是什么导致最新工件版本出现问题?为什么 Nexus 不能正确下载?

4

2 回答 2

2

你可能忽略了你的依赖是 pom 类型的。这只会下载 pom,因为这就是您所要求的。删除<type>,你也应该得到罐子。

<dependency>
  <groupId>nl.jqno.equalsverifier</groupId>
  <artifactId>equalsverifier</artifactId>
  <version>2.0.2</version>
  <type>pom</type> <-------------- Remove this
</dependency>
于 2016-05-03T07:00:19.873 回答
1

假设 crea1 的回答没有解决您的问题:

当 Maven 下载工件时,可能出现了问题,导致 Maven “认为”工件已被下载。

您可以强制 Maven 尝试使用mvn -U test.

如果这不起作用,请尝试进入~/.m2/repository(或 Maven 在系统上本地存储其工件的任何地方),找到 EqualsVerifier,删除整个2.0.2文件夹,然后再次调用 Maven。

于 2016-05-08T18:21:50.950 回答