【问题标题】:Sonatype Nexus, maven.oracle.com and non-existant artifactsSonatype Nexus、maven.oracle.com 和不存在的工件
【发布时间】:2017-03-14 15:18:22
【问题描述】:

我们正在使用 Sonatype Nexus 代理 maven 存储库 http://maven.oracle.com。最近它无法解决一些已经存在了很长一段时间并且仍然存在的工件。 在日志中,我可以找到这些消息:

2016-11-01 13:56:55,914+0100 INFO  [qtp1990129127-84] ciserver org.sonatype.nexus.proxy.repository.validator.DefaultFileTypeValidatorHub - File item Oracle:/org/apache/ws/jaxme/maven-jaxme-plugin/maven-metadata.xml evaluated as INVALID during file type validation (validator=maven)
2016-11-01 13:56:55,916+0100 INFO  [qtp1990129127-84] ciserver org.sonatype.nexus.proxy.maven.maven2.M2Repository - Proxied item Oracle:/org/apache/ws/jaxme/maven-jaxme-plugin/maven-metadata.xml evaluated as INVALID during content validation (validator=filetypevalidator, sourceUrl=https://maven.oracle.com/org/apache/ws/jaxme/maven-jaxme-plugin/maven-metadata.xml)
2016-11-01 13:57:40,761+0100 INFO  [qtp1990129127-88] ciserver org.sonatype.nexus.proxy.repository.validator.DefaultFileTypeValidatorHub - File item Oracle:/com/oracle/weblogic/weblogic-server-pom/maven-metadata.xml evaluated as INVALID during file type validation (validator=maven)
2016-11-01 13:57:40,762+0100 INFO  [qtp1990129127-88] ciserver org.sonatype.nexus.proxy.maven.maven2.M2Repository - Proxied item Oracle:/com/oracle/weblogic/weblogic-server-pom/maven-metadata.xml evaluated as INVALID during content validation (validator=filetypevalidator, sourceUrl=https://maven.oracle.com/com/oracle/weblogic/weblogic-server-pom/maven-metadata.xml)

虽然 maven.oracle.com 上不存在 maven-jaxme-plugin,但它在代理存储库中仍然有一些(损坏的)元数据。在再次请求工件之前,删除这些会有所帮助。 另一方面,工件 weblogic-server-pom onm 存在于 maven.oracle.com 上,但一旦这些消息出现在日志中,代理就不再提供服务。它有助于清除缓存 - 但仅在再次请求 maven-jaxme-plugin 之前。

我创建了一个nexus.properties 文件来包含here 中描述的设置。但这对我没有任何改变。

使用 WebBrowser 访问日志中的第一个 URL 时,如果我已登录,则会收到 404。这看起来不错。但在此之前,重定向 (301) 可能存在问题?

如何避免让不存在的工件破坏代理存储库的元数据?

【问题讨论】:

  • 最近 Sonatype Nexus 似乎完全无法使用 maven.oracle.com。它甚至会自动阻止它。有人还能用吗?

标签: maven-3 nexus


【解决方案1】:

我无法复制您在使用 Nexus Repository Manager OSS 2.14.1-01 代理到 maven.oracle.com 时遇到的问题。就解析和下载下面的两个测试工件而言,这似乎工作正常。

就您看到的日志消息而言,我建议在 Nexus 上执行以下操作:

1) 在 Nexus 实例的 Oracle Maven 代理存储库上禁用 File Content Validation

2) 右键单击​​Oracle存储库并选择Expire Cache,以便从Oracle重新下载工件;

3) 在客户端,使用mvn -U 强制 Maven 检查 Nexus 的依赖关系。

测试工件:

<!-- Found in maven.oracle.com. -->
<dependency>
    <groupId>com.oracle.weblogic</groupId>
    <artifactId>wls-api</artifactId>
    <version>12.1.3-0-0</version>
</dependency>

<!-- Found in Maven Central. -->
<dependency>
    <groupId>org.apache.ws.jaxme</groupId>
    <artifactId>maven-jaxme-plugin</artifactId>
    <version>1.0.3</version>
</dependency>

参考资料:

Nexus 文档:https://books.sonatype.com/nexus-book/reference/confignx-sect-manage-repo.html

【讨论】:

  • 感谢您的回答,ck1。不幸的是,我们已经尝试了您描述的步骤,但没有帮助。但这是一个有趣的信息,您自己没有问题。那么,也许它与我们公司的网络代理有关。
  • 即使答案不是解决方案,我也会奖励尝试复制它的赏金。
猜你喜欢
  • 2015-02-14
  • 1970-01-01
  • 1970-01-01
  • 2020-03-29
  • 1970-01-01
  • 2013-05-07
  • 1970-01-01
  • 2019-09-24
  • 2014-05-20
相关资源
最近更新 更多