Maven 重复依赖检测 (Dependency Convergence), 包冲突解决

阅读更多

方法一
maven命令方式
详情参考:
https://maven.apache.org/enforcer/enforcer-rules/dependencyConvergence.html

This rule requires that dependency version numbers converge. If a project has two dependencies, A and B, both depending on the same artifact, C, this rule will fail the build if A depends on a different version of C then the version of C depended on by B.

简单的说就是,如果你的project依赖两个第三方jar包,分别称作A和B,而A又依赖spring2.5, B却依赖spring3.0, 那么如果你配置了这个规则,maven build就会失败并且报错,让你自己先解决这个包冲突.

我个人认为这个挺有用的,当你在本地Tomcat跑起来没问题,发布到服务器WebSphere却挂了时,最后调试1天才解决包冲突问题,是很郁闷的.


加入下面的插件到pom.xml即可启用该功能

  ...
  
    
      ...
      
        org.apache.maven.plugins
        maven-enforcer-plugin
        1.3.1
        
          
            enforce
            
              
                
              
            
            
              enforce
            
          
        
      
      ...
    
  
  ...




方法二
可视化方式,m2Eclipse插件提供的Maven Pom Editor功能
Eclipse Marketplace搜索Maven Integration for Eclipse, install后即可使用.

双击pom.xml后在Dependency Hierarchy面板里面可以查看有冲突的jar包.
优先推荐可视化方式.

你可能感兴趣的:(maven,依赖,重复,检测,冲突)