7

当我调用mvn dependency:tree我的项目时,我收到以下警告和错误:

[警告] com.sun.xml.stream.buffer:streambuffer:jar:0.4 的 POM 无效,传递依赖项(如果有)将不可用,请启用调试日志以获取更多详细信息

[警告] org.jvnet.staxex:stax-ex:jar:1.0 的 POM 无效,传递依赖项(如果有)将不可用,请启用调试日志以获取更多详细信息

[错误] 无法在项目 rdbms-service 上执行目标 org.apache.maven.plugins:maven-dependency-plugin:2.1:tree (default-cli):执行目标 org.apache.maven.plugins:maven 的 default-cli -dependency-plugin:2.1:tree failed: For artifact {org.jvnet.staxex:stax-ex:null:jar}:版本不能为空。-> [帮助 1]

但是,由于树构建失败,我不知道是哪个依赖项将这些无效的依赖项拉入其中。有没有办法找出来?

我试过用 排除那些罐子mvn dependency:tree -Dexcludes=*stream.buffer,*staxex,但这没有区别。

4

2 回答 2

7

尝试mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:tree强制 Maven 使用更新版本的 maven-dependency-plugin

于 2013-08-22T14:56:58.170 回答
0

org.jvnet.staxex:stax-ex:1.0 似乎缺少远程存储库中 pom 中的元素,而是包含从未包含在 pom.xml 架构 AFAIK 中的元素。显然,一些手动创建的 pom(以错误的方式)最终出现在 java.net 中,然后是中央的。

尝试排除 stax-ex 依赖项并明确定义一个新的依赖项。例如:

        <!-- jaxws-rt with replaced broken stax-ex -->
        <dependency>
            <groupId>com.sun.xml.ws</groupId>
            <artifactId>jaxws-rt</artifactId>
            <version>2.1.7</version>
            <exclusions>
                <exclusion>
                    <groupId>org.jvnet.staxex</groupId>
                    <artifactId>stax-ex</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.jvnet.staxex</groupId>
            <artifactId>stax-ex</artifactId>
            <version>1.2</version>
        </dependency>
于 2016-07-08T12:03:58.050 回答