首页 > 代码库 > 解决maven传递依赖中的版本冲突
解决maven传递依赖中的版本冲突
首先在pom.xml中添加:
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId> maven-project-info-reports-plugin </artifactId>
</plugin>
</plugins>
</reporting>
如果用的是eclipse,那就用run as-build-在Goals那个框框里输入: project-info-reports:dependencies,如果实在dos环境下, 就mvn project-info-reports:dependencies。然后就会在target的文件夹下,生成一个site文件夹,里边有个dependency.html,进去就能看到详细的依赖的信息。
或者直接在eclipse中打开pom.xml文件
会看到打开的窗口中有一个dependency hie开头的选项卡。
这个选择卡页面左半部分显示了详细的jar包依赖树。右半部分则是maven将会下载的jar包。
比如我们看到右半部分有2个asm的jar,版本不同。
现在需要排除其中低版本的jar(比如xwork-core下的某个jar依赖的asm版本相对较低,不一定说是xwork-core依赖,而是它的依赖的依赖,即多重依赖的asm都是可以的)
<dependency>
<groupId>org.apache.struts.xwork</groupId>
<artifactId>xwork-core</artifactId>
<version>${struts.version}</version>
<exclusions>
<exclusion>
<artifactId>asm</artifactId>
<groupId>asm</groupId>
</exclusion>
</exclusions>
</dependency>
当然我们也可以在dependency hie开头的选项卡中右半部分直接选中那个低版本的asm.jar。然后右键exclude maven...点击确定会自动生成上面的。
解决maven传递依赖中的版本冲突
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。