首页 > 解决方案 > Maven 安装期间有关无效 maven-metadata-nexus.xml 的警告

问题描述

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

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

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

标签: mavennexus

解决方案


事实证明,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 文件,此内容当然不是有效内容。

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

<?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>

推荐阅读