解决maven传递依赖中的版本冲突

电玩女神 2022-08-12 00:30 379阅读 0赞

首先在pom.xml中添加:

  1. <reporting>
  2. <plugins>
  3. <plugin>
  4. <groupId>org.apache.maven.plugins</groupId>
  5. <artifactId> maven-project-info-reports-plugin </artifactId>
  6. </plugin>
  7. </plugins>
  8. </reporting>
  9. 如果用的是eclipse,那就用run as-build-在Goals那个框框里输入:
  10. project-info-reports:dependencies,如果实在dos环境下,
  11. 就mvn project-info-reports:dependencies。然后就会在target的文件夹下,生成一个site文件夹,里边有个dependency.html,进去就能看到详细的依赖的信息。
  12. 或者直接在eclipse中打开pom.xml文件
  13. 会看到打开的窗口中有一个dependency hie开头的选项卡。
  14. 这个选择卡页面左半部分显示了详细的jar包依赖树。右半部分则是maven将会下载的jar包。
  15. 比如我们看到右半部分有2个asm的jar,版本不同。
  16. 现在需要排除其中低版本的jar(比如xwork-core下的某个jar依赖的asm版本相对较低,不一定说是xwork-core依赖,而是它的依赖的依赖,即多重依赖的asm都是可以的)
  17. <dependency>
  18. <groupId>org.apache.struts.xwork</groupId>
  19. <artifactId>xwork-core</artifactId>
  20. <version>${struts.version}</version>
  21. <exclusions>
  22. <exclusion>
  23. <artifactId>asm</artifactId>
  24. <groupId>asm</groupId>
  25. </exclusion>
  26. </exclusions>
  27. </dependency>
  28. 当然我们也可以在
  29. dependency hie开头的选项卡中右半部分直接选中那个低版本的asm.jar。
  30. 然后右键exclude maven...点击确定会自动生成上面的。

发表评论

表情:
评论列表 (有 0 条评论,379人围观)

还没有评论,来说两句吧...

相关阅读