代码之家  ›  专栏  ›  技术社区  ›  Christian Strempfer

为什么Maven2在每次构建时都要检查stax-ex的更新?

  •  1
  • Christian Strempfer  · 技术社区  · 14 年前

    Maven2在每次构建时都检查stax-ex的更新。它只是检查这个独立的依赖项,所有其他依赖项每天只更新一次。

    Maven2输出:

    工件org.jvnet.stax ex:stax ex:检查来自java.net的更新

    stax-ex(groupid:org.jvnet.staxex,版本:1.2)包含在jaxws-rt(groupid:com.sun.xml.ws,版本:2.1.3)中。我们有一个工件库作为中介。

    我能做什么?(离线建设将是一项不受欢迎的工作。)

    2 回复  |  直到 14 年前
        1
  •  3
  •   Yoav Landman    14 年前

    看起来您的POMs中有远程存储库声明,这些声明绕过了企业存储库。如果您使用的是Artifactory,那么您可以在POMs中拥有远程存储库引用 automatically stripped off 在虚拟存储库级别上,或配置 mirror-any 在您的设置中,要强制工件解析,请严格通过您的工件。

        2
  •  6
  •   slanglois    7 年前

    我也有同样的问题,我想弄清真相!

    问题在于 pom.xml file of streambuffer (jaxws-rt的依赖项),它不指定stax-ex的版本 RELEASE ,表示最新发布的版本:

    <dependency>
      <groupId>org.jvnet.staxex</groupId>
      <artifactId>stax-ex</artifactId>
      <version>RELEASE</version>
    </dependency>
    

    这迫使Maven通过下载其对应的stax-ex版本,不断地检查stax-ex的最新版本(即使jaxws-rt本身请求版本1.2) maven-metadata.xml .

    一个简单的解决方法是在 dependencyManagement pom.xm部分:

    <dependencyManagement>
      <dependencies>
        <dependency>
          <groupId>org.jvnet.staxex</groupId>
          <artifactId>stax-ex</artifactId>
          <version>1.2</version>
        </dependency>
      </dependencies>
    </dependencyManagement>
    

    然后Maven就不会再为这个警告打扰你了。。。