meaven的冲突问题

Maven对于新手来说,最痛苦的一件事莫过于包之间的冲突,由于Maven的依赖传递性,当你引入一个依赖类时,其身后的依赖类也一起如过江之鲫纷至沓来了。

Maven采用“最近获胜策略(nearest wins strategy)”的方式处理依赖冲突,即如果一个项目最终依赖于相同artifact的多个版本,在依赖树中离项目最近的那个版本将被使用。

1,Reimport一下,IDE会强制根据新的pom.xml设置重新分析并加载依赖类包,以得到和pom.xml设置相同的依赖。(这一步非常重要哦,经常项目组pom.xml是相同的,但是就是有些人可以运行,有些人不能运行,俗称人品问题,其实都是IDE的缓存造成的了)

2,找到依赖关系,将不想要的传递依赖剪除掉,防止依赖版本不一致

3,在pom.xml中补上真正的依赖包

   

    project-common

    project-commmon

    2.0

 


最后解决:改变maven安装目录内的settings.xml

添加

      ali-center

      maven central

      *

http://maven.aliyun.com/nexus/content/groups/public

   

   

      central

      maven central

      *

http://repo.maven.apache.org/maven2/

   

   

      nexus-local

      Nexus local

      *

http://130.1.198.201:8081/nexus/content/groups/public/

   

未完待续

你可能感兴趣的:(meaven的冲突问题)