java - 由于 "maven-metadata-bintray-central.xml"文件中的错误,Maven 构建失败

标签 java maven artifactory bintray

我使用 Maven 构建一个项目,该项目引用来自 Artifactory 的 Artifact 。此build设置运行顺利,但现在每次从 Artifactory 存储库获取新库时我都会看到此错误。

Caused by: org.apache.maven.artifact.repository.metadata.RepositoryMetadataResolutionException: Unable to read local copy of metadata: Cannot read metadata from '/home/user/.m2/repository/com/cc-spring-hibernate/5.1-SNAPSHOT/maven-metadata-bintray-central.xml': end tag name </body> must match start tag name <hr> from line 5 (position: TEXT seen ...</center>\r\n</body>... @6:8)
    at org.apache.maven.artifact.repository.metadata.DefaultRepositoryMetadataManager.resolve(DefaultRepositoryMetadataManager.java:175)
    at org.apache.maven.artifact.transform.AbstractVersionTransformation.resolveVersion(AbstractVersionTransformation.java:65)
    at org.apache.maven.artifact.transform.SnapshotTransformation.transformForResolve(SnapshotTransformation.java:63)
    ... 23 more

当我检查 maven-metadata-bintray-central.xml 文件时,我看到它有这个内容。

<html>
<head><title>302 Found</title></head>
<body bgcolor="white">
<center><h1>302 Found</h1></center>
<hr><center>nginx</center>
</body>
</html>

经过调查,我发现这似乎是因为 Artifactory 调用 http://jcenter.bintray.com/获取依赖项,但 HTTP 调用返回“302 Found”& nginx 消息以重定向到 HTTPS ( https://jcenter.bintray.com/ )。

Artifactory 是否正在调用 jcenter.bintray 来获取库的详细信息?如果是这种情况,我们如何配置 Artifactory 以使用 https URL 或理解 http 重定向?

最佳答案

此问题与 Artifactory 无关

这是因为引用了 http://jcenter.bintray.com在 pom 文件中。

<repository>
   <id>bintray-central</id>
   <name>bintray</name>
   <url>https://jcenter.bintray.com</url>
</repository>

我不知道为什么它没有早点失败。我假设 jcenter.bintray.com 站点最近进行了更改,将所有对 http 的调用重定向到带有 302 的 https。 将 bintray URL 更改为 https,像这样,删除 .m2 文件夹中的旧文件并重建解决了问题。

<!-- Updated http url -->
<repository>
   <id>bintray-central</id>
   <name>bintray</name>
   <url>https://jcenter.bintray.com</url>
</repository>

关于java - 由于 "maven-metadata-bintray-central.xml"文件中的错误,Maven 构建失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58225491/

相关文章:

java - SonarQube 测试用例规则不考虑 Eclipse 的 @Test 注释

java - 有没有办法根据包中的所有 java 源文件生成哈希值,然后在运行时在日志消息中使用该值?

Maven 仅在所有模块构建成功时才部署多模块项目

java - 放心发送过期日期格式错误的cookie吗?

java - 调整 Java JFrame 的大小会改变图形组件的颜色

java - Ubuntu 中全新 clojure 安装 - 构建类路径时出错

java - 使用java和maven打开文件

Gitlab-Ci。在阶段之间传输 maven m2 本地存储库

java - 使用 wait() 和 Notify() 在 4 个线程之间执行线程间通信时出现 IllegalMonitorStateException

java - eclipse 中 Ctrl-f6 的对话框名称