Maven找到了与无效pom相关的依赖路径

时间:2013-08-22 14:46:43

标签: java maven dependencies

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

  

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

     

[警告] 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的执行default-cli。插件:maven-dependency-plugin:2.1:树失败:对于工件{org.jvnet.staxex:stax-ex:null:jar}:版本不能为空。 - > [帮助1]

然而,由于树构建失败,我不知道哪个依赖项正在拉动这些无效的依赖项。有没有办法找出来?

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

2 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分: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>