Конфликт упаковки
1. При использовании Maven для управления проектами вы можете столкнуться с конфликтами пакетов. Например, когда log4j-over-slf4j.jar и slf4j-log4j12.jar будут проблемы, когда два пакета будут выполнены вместе одновременно.
2. Этот конфликт может быть вызван явными зависимостями или неявными зависимостями.
Явные зависимости, вы можете напрямую увидеть ссылки на два противоречивых пакета из < -зависимостей> файла pom.xml.
Неявные зависимости, конфликтующие пакеты не могут быть замечены в <зависимости> pom.xml, но косвенно вводятся пакетами, введенными в <зависимость>.
решать
Сначала подтвердите, какие зависимости косвенно представили пакет. Используйте зависимость MVN: дерево, чтобы просмотреть дерево зависимости всего проекта, где вы можете увидеть все зависимости, включая косвенные зависимости.
Результаты аналогичны следующему:
[Info] +- JUNIT: JUNIT: JAR: 4.12: тест [Info] | /- org.hamcrest: hamcrest-core: jar: 1.3: тест [info] +- org.apache.storm: storm-core: jar: 1.0.2: предоставлен [info] | +- com.esotericsoftware: Kryo: Jar: 3.0.3: Compile [Info] | | /- com.esotericsoftware: minlog: jar: 1.3.0: compile [info] | +- org.clojure: clojure: jar: 1.7.0: предоставлено [info] | +- com.lmax: Disruptor: Jar: 3.3.2: предоставлен [Info] | +- org.apache.logging.log4j: log4j-api: jar: 2.1: предоставлен [info] | +- org.apache.logging.log4j: log4j-core: jar: 2.1: предоставлен [info] | +-org.apache.logging.log4j: log4j-slf4j-impl: jar: 2.1: предоставлен [info] | +-org.slf4j: log4j-over-slf4j: jar: 1.6.6: предоставлен [info] | +- javax.servlet: Сервлет-API: JAR: 2.5: предоставлен [Info] | /-org.slf4j: slf4j-api: jar: 1.7.7: compile [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: compile [info] | +- javax.mail: javax.mail-api: jar: 1.5.5: compile [info] | +- cglib: cglib: jar: 2.2.2: compile [info] | +- org.aspectj: AspectJrt: Jar: 1.7.4: Compile [Info] | +- org.aspectj: AspectJweaver: Jar: 1.7.4: среда выполнения [Info] | +- org.javassist: Javassist: Jar: 3.20.0-GA: Compile [Info] | +- log4j: log4j: jar: 1.2.17: compile [info] | +- org.slf4j: slf4j-log4j12: jar: 1.7.7: compile [info] | +- dom4j: dom4j: jar: 1.6.1: compile [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: компиляция
Если вы найдете соответствующие зависимости конфликтующего пакета, настройте исключение в <зависимость> pom.xml, пакет не будет введен, например:
<dependency> <groupid> com.aaa.khala </groupid> <artifactid> aaa-khala-insight-sdk-transfer-api </artifactid> <sersive> 1.0.0-snapshot </version> <исключение> <Sclusion> <groupid> org.slf4j </groupid> <Artifactid> slf4j-log4j12 </artifactid> </exclusion> </Исполнения> </depertion>
Спасибо за чтение, я надеюсь, что это поможет вам. Спасибо за поддержку этого сайта!