1

在构建 WAR 时,我一直在谷歌搜索以下警告,但找不到解释:

[警告] 无法检索依赖项的目标文件名 [Dependency {groupId=org.company.xml.jaxbtypes, artifactId=iJaxbtypes, version=1.0.2-SNAPSHOT, type=jar}]

依赖关系已解决,一切都按预期工作,但 WEB-INF/lib 包含:

  • iJaxbtypes-1.0.2-20100721.170712-1

如果我不跑干净,我现在有:

  • iJaxbtypes-1.0.2-20100721.170712-1
  • iJaxbtypes-1.0.2-20100721.170712-6

这是因为它是 SNAPSHOT 依赖项吗?我已经使用 Maven 几年了,但还没有遇到过这个。

4

1 回答 1

0

使用 SNAPSHOT 依赖项时,Maven 将在远程存储库中groupId/artifactId/version/maven-metadata.xml查找通常如下所示的:

<?xml version="1.0" encoding="UTF-8"?>
<metadata>
  <groupId>org.sonatype.nexus</groupId>
  <artifactId>nexus</artifactId>
  <version>1.4.2-SNAPSHOT</version>
  <versioning>
    <snapshot>
      <timestamp>20091214.221414</timestamp>
      <buildNumber>13</buildNumber>
    </snapshot>
    <lastUpdated>20091214221558</lastUpdated>
  </versioning>
</metadata>

Maven 使用此文件来了解最新的快照工件文件是什么。

我相信您没有 iJaxbtypes 工件的元数据,或者它们已损坏,并且 Maven 无法正确处理 SNAPSHOT 并且每次都下载最新文件而不重命名它。

检查远程存储库,maven-metadata.xml也许还有部署过程。如果一切正常,请尝试从本地存储库中删除合并的元数据。

也可以看看

于 2010-07-23T15:33:14.650 回答