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

首先在pom.xml中添加:
 
    
org.apache.maven.plugins
maven-project-info-reports-plugin
如果用的是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都是可以的)
 
    
 
     
org.apache.struts.xwork
xwork-core
${struts.version}
asm
asm
当然我们也可以在 dependency hie开头的选项卡中右半部分直接选中那个低版本的asm.jar。
然后右键exclude maven...点击确定会自动生成上面的。

你可能感兴趣的:(maven)