当我在项目上调用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
排除那些罐子,但这没有区别。
答案 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>