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パケットの依存パスを分析する
このコマンドはgroupIdとartifactIdがcommons-loggingであるjarパケットに依存するすべての依存パスを印刷します.
2競合する2つのバージョンで必要なバージョンを選択し、自分のプロジェクトで使用した文法のバージョンを選択します.
3本プロジェクトのpomで競合する依存を排除する:具体的な書き方:例えば、依存中の対応する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)