パッケージの競合
1. Mavenを使用してプロジェクトを管理する場合、パッケージの競合に遭遇する可能性があります。たとえば、log4j-over-slf4j.jarおよびslf4j-log4j12.jarの場合、2つのパッケージが同時に一緒に実行されると問題が発生します。
2。この競合は、明示的な依存関係または暗黙の依存関係によって引き起こされる場合があります。
明示的な依存関係では、pom.xmlファイルの<依存関係>から2つの競合するパッケージへの参照を直接確認できます。
暗黙の依存関係、矛盾するパッケージはpom.xmlの<依存関係>では見られませんが、<依存関係>で導入されたパッケージによって間接的に導入されます。
解決する
最初に、どの依存関係が間接的にパッケージを導入したかを確認します。 MVN依存関係:ツリーを使用して、プロジェクト全体の依存関係ツリーを表示します。ここでは、間接依存関係を含むすべての依存関係を確認できます。
結果は以下に似ています。
[info] + - junit:junit:jar:4.12:test [info] | / - org.hamcrest:hamcrest-core:jar:1.3:test [info] + - org.apache.storm:ストームコア:jar:1.0.2:提供[情報] | +-Com.ESOTERICSOFTWARE:KRYO:JAR:3.0.3:コンパイル[情報] | | / - com.esotericsoftware:minlog:jar:1.3.0:コンパイル[情報] | + - org.clojure:clojure:jar:1.7.0:提供[情報] | +-com.lmax:Disruptor:JAR:3.3.2:提供[情報] | +-org.apache.logging.log4j:log4j-api:jar:2.1:revid [info] | +-org.apache.logging.log4j:log4j-core:jar:2.1:revid wand [info] | +-org.apache.logging.log4j:log4j-slf4j-impl:jar:2.1:revid [info] | +-ORG.SLF4J:LOG4J-OVER-SLF4J:JAR:1.6.6:提供[info] | +-Javax.Servlet:Servlet-API:JAR:2.5:提供[情報] | / - org.slf4j:slf4j-api:jar:1.7.7:compile [info] +-com.aaa.khala:aaa-khala-insight-sdk-transfer-api:jar:1.0.0-snapshot:[情報] | / - com.aaa.khala:aaa-khala-common:jar:1.0.0-snapshot:コンパイル[情報] | +-javax.mail:javax.mail-api:jar:1.5.5:コンパイル[情報] | +-CGLIB:CGLIB:JAR:2.2.2:コンパイル[情報] | + - org.aspectj:aspectjrt:jar:1.7.4:コンパイル[情報] | + - org.aspectj:aspectjweaver:jar:1.7.4:runtime [info] | + - org.javassist:javassist:jar:3.20.0-ga:コンパイル[情報] | +-LOG4J:LOG4J:JAR:1.2.17:コンパイル[情報] | +-ORG.SLF4J:SLF4J-LOG4J12:JAR:1.7.7:コンパイル[情報] | +-dom4j:dom4j:jar:1.6.1:コンパイル[情報] | +-Jaxen:Jaxen:Jar:1.1.6:コンパイル[情報] | + - org.apache.commons:Commons-Compress:jar:1.6:コンパイル[情報] | + - org.apache.commons:Commons-Compress:jar:1.6:コンパイル[情報] | | / - org.tukaani:xz:jar:1.4:コンパイル
競合するパッケージの対応する依存関係を見つけた場合、pom.xmlの<依存関係>の除外を構成すると、たとえばパッケージは紹介されません。
<dependency> <groupid> com.aaa.khala </groupid> <artifactid> aaa-khala-insight-sdk-transfer-api </artifactid> <バージョン> 1.0.0-snapshot </version> <explusions> <exclusion> <exclusion> org.slf4j </groupid> <artifactid> slf4j-log4j12 </artifactid> </exclusion> </explusions> </dependency>
読んでくれてありがとう、私はそれがあなたを助けることができることを願っています。このサイトへのご支援ありがとうございます!