Maven 的jar包冲突管理

知识点:

maven的依赖仲裁


Maven的依赖仲裁优先级

路径优先:1.对于该项目而言,根据jar包的依赖路径,短的优先
声明优先:2.路径一样,被依赖者声明的前后有关,同一个pom,前面的优先
覆写优先:3.子pom优先于父pom


最终查看lib文件夹的jar包

1.jar包冲突无非就是没有使用到自己想要的版本的jar包

   解决思路1:

     
        
            asm  
            asm  
         
  解决思路2:

  如果运行时期还是用到了自己不想要的jar包,可以重新maven项目,建议

  Maven 的jar包冲突管理_第1张图片

重启IDE或者清缓存

解决思路3:

其他错误,同样结构的jar导致引用失败的问题(依赖构件不一样,盗版货慎用),建议排除没有用到的jar包

2.经过maven这一层后,冲突基本明显知道,所以在lib文件夹下可能就只有一种版本的jar包了(逃过maven管理的,结构一样的jar包除外)

3.引用一句话:http://blog.csdn.net/gjyalpha/article/details/7265788

WEB-INF/lib/下面放了多个不同版本的jar包,你是完全无法控制JVM或者说JBoss去先加载哪个jar包中的类的。还是老老实实的想办法,把版本通过Maven仲裁掉。

你可能感兴趣的:(maven)