【问题标题】:Warning about invalid maven-metadata-nexus.xml during Maven installMaven 安装期间有关无效 maven-metadata-nexus.xml 的警告
【发布时间】:2018-08-03 13:03:34
【问题描述】:

在我的 java 项目上运行 maven clean install 时收到以下警告。

[警告] 元数据 .m2/repository/.../maven-metadata-nexus.xml 无效:实体引用名称不能包含字符 ='(位置:TEXT 看到 ...tent/groups/public/ com/github/jnr/jffi/maven-metadata.xml&arubalp=...@3:147)

我使用 Nexus 作为我的 settings.xml 中配置的 Maven 存储库镜像。

【问题讨论】:

  • 请注意,这是一个“自我回答”问题,旨在作为一个通用答案。我找不到对此的现有答案,希望它可以帮助其他人。

标签: maven nexus


【解决方案1】:

事实证明,一个请求的依赖项的maven-metadata.xml 最终被破坏了。 我的解释是,在构建过程中,Nexus 有一段时间出现了一些问题,但是响应了 HTTP 请求,但没有正确响应。它以以下响应响应 maven-metadata.xml 的请求:

<html>
<head>
<meta http-equiv='refresh' content='1; url=http://nexus..../content/groups/public/com/github/jnr/jffi/maven-metadata.xml&arubalp=8e10706d-9203-4643'>
</head>
</html>

在本地 Maven 存储库中以 maven-metadata.xml 的形式编写。对于导致上述警告的 maven-metadata.xml 文件,此内容肯定不是有效内容。

删除本地 Maven 存储库中的依赖项并从 Nexus 中获取新的依赖项为我解决了问题,但确保 Nexus 通过 curl 或浏览器请求 maven-metadata.xml 以正确的内容响应(例如curl -k https://nexus..../repository/central/com/github/jnr/jffi/maven-metadata.xml)。 一个有效的内容应该是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<metadata modelVersion="1.1.0">
  <groupId>com.github.jnr</groupId>
  <artifactId>jffi</artifactId>
  <versioning>
    <latest>1.2.17</latest>
    <release>1.2.17</release>
    <versions>
      <version>1.0.11</version>
      ...
      <version>1.2.17</version>
    </versions>
    <lastUpdated>20180516162549</lastUpdated>
  </versioning>
</metadata>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-15
    • 2018-09-25
    • 1970-01-01
    • 2022-01-23
    • 2011-05-06
    • 1970-01-01
    • 2022-11-21
    • 2017-12-25
    相关资源
    最近更新 更多