代码之家  ›  专栏  ›  技术社区  ›  brass monkey

在maven安装期间警告maven-metadata-nexus.xml无效

  •  0
  • brass monkey  · 技术社区  · 7 年前

    我在跑步时收到以下警告 maven clean install 在我的java项目中。

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

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

    1 回复  |  直到 7 年前
        1
  •  1
  •   brass monkey    7 年前

    结果发现 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获取新的依赖项解决了我的问题,但是通过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>