Maven依存jarパッケージバージョンの競合解決

1128 ワード

Javaの強みは、その生態環境にあり、複雑なプロジェクトの開発をサポートする車輪が多いことです.今では基本的に少し規模のあるJavaプロジェクトごとに多くのjarパッケージに依存していますが、Mavenは現在jarパッケージを管理する最も流行しているツールであるはずです.しかし、複雑なjarパケット依存性が多すぎると、バージョン競合の問題が発生する可能性があります.例:
プロジェクト依存AとB;A依存C 1.0,BはC 2に依存する.0、Cの2つのバージョンが互換性がない場合、私たちのプロジェクトに問題が発生します.
例のようなCはまだ多く、最も一般的なのはapacheのツールパッケージです.例えばcommons-loggingです.
競合解決方法:1競合jarパケットの依存パスを分析するmvn dependency:tree -Dverbose -Dincludes=commons-logging:commons-loggging
このコマンドはgroupIdとartifactIdがcommons-loggingであるjarパケットに依存するすべての依存パスを印刷します.
2競合する2つのバージョンで必要なバージョンを選択し、自分のプロジェクトで使用した文法のバージョンを選択します.
3本プロジェクトのpomで競合する依存を排除する:具体的な書き方:例えば、依存中の対応するjarパケットを排除する:Java com.xxx.xx xxx x com.springsource.slf4j.org.apache.commons.logging org.slf4j
      intellij, intellij     pom.xml,      ,  diagram->show dependencies,      mvn:dependency         ,             。      ,        "exclude".                       ,        ,                      。

![dependency.jpg](http://upload-images.jianshu.io/upload_images/1713176-1b64d1abc8bd6ebd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)