Konflik paket
1. Saat menggunakan Maven untuk mengelola proyek, Anda dapat menghadapi konflik paket. Misalnya, ketika log4j-over-slf4j.jar dan slf4j-log4j12.jar, akan ada masalah ketika kedua paket dijalankan bersama pada saat yang sama.
2. Konflik ini dapat disebabkan oleh dependensi eksplisit atau dependensi implisit.
Ketergantungan Eksplisit, Anda dapat langsung melihat referensi ke dua paket yang bertentangan dari <gergeptency> dari file pom.xml.
Ketergantungan implisit, paket yang saling bertentangan tidak dapat dilihat dalam <sependency> pom.xml, tetapi secara tidak langsung diperkenalkan oleh paket yang diperkenalkan dalam <sgentency>.
menyelesaikan
Pertama mengkonfirmasi dependensi mana yang secara tidak langsung memperkenalkan paket. Gunakan ketergantungan MVN: Pohon untuk melihat pohon ketergantungan seluruh proyek, di mana Anda dapat melihat semua dependensi, termasuk dependensi tidak langsung.
Hasilnya mirip dengan yang berikut:
[Info] +- junit: junit: jar: 4.12: tes [info] | /- org.hamcrest: hamcrest-core: jar: 1.3: tes [info] +- org.apache.storm: badai-inti: jar: 1.0.2: disediakan [info] | +- com.esotericsoftware: Kryo: JAR: 3.0.3: Compile [info] | | /- com.esotericsoftware: minlog: jar: 1.3.0: kompilasi [info] | +- org.clojure: clojure: jar: 1.7.0: disediakan [info] | +- com.lmax: Disruptor: Jar: 3.3.2: disediakan [info] | +- org.apache.logging.log4j: log4j-api: jar: 2.1: disediakan [info] | +- org.apache.logging.log4j: log4j-core: jar: 2.1: disediakan [info] | +-org.apache.logging.log4j: log4j-slf4j-impl: jar: 2.1: disediakan [info] | +-org.slf4j: log4j-over-slf4j: jar: 1.6.6: disediakan [info] | +- javax.servlet: servlet-api: jar: 2.5: disediakan [info] | /-org.slf4j: slf4j-api: jar: 1.7.7: kompilasi [info] +-com.aaa.khala: aaa-khala-insight-sdk-transfer-api: jar: 1.0.0-snapshot: compile [info] | /-com.aaa.khala: aaa-khala-common: jar: 1.0.0-snapshot: kompilasi [info] | +- javax.mail: javax.mail-api: jar: 1.5.5: kompilasi [info] | +- CGLIB: CGLIB: JAR: 2.2.2: Kompilasi [info] | +- org.aspectj: aspekjrt: jar: 1.7.4: kompilasi [info] | +- org.aspectj: aspekjweaver: jar: 1.7.4: runtime [info] | +- org.javassist: javassist: jar: 3.20.0-ga: kompilasi [info] | +- log4j: log4j: jar: 1.2.17: kompilasi [info] | +- org.slf4j: slf4j-log4j12: jar: 1.7.7: kompilasi [info] | +- dom4j: dom4j: jar: 1.6.1: kompilasi [info] | +- Jaxen: Jaxen: JAR: 1.1.6: Compile [info] | +- org.apache.Commons: Commons-Compress: Jar: 1.6: Compile [info] | +- org.apache.Commons: Commons-Compress: Jar: 1.6: Compile [info] | | /- org.tukaani: xz: Jar: 1.4: kompilasi
Jika Anda menemukan dependensi yang sesuai dari paket yang bertentangan, konfigurasikan pengecualian dalam <sgentency> pom.xml, paket tidak akan diperkenalkan, misalnya:
<dependency> <GroupId> com.aaa.khala </groupid> <Artifactid> aaa-khala-insight-sdk-transfer-api </artifactid> <version> 1.0.0-snapshot </version> <scuxclusion> <ckscuxcusion> <groupid> org.slf4j </Version> <scuxclusions> <Explusion> <groupid> org.slf4j </Version> <cexclusions> <Explusion> <groupid> org.slf4j </versi <ArTifactId> slf4j-log4j12 </stifactid> </cexclusion> </cksecksions> </dependency>
Terima kasih telah membaca, saya harap ini dapat membantu Anda. Terima kasih atas dukungan Anda untuk situs ini!