Conflito do pacote
1. Ao usar o Maven para gerenciar projetos, você pode encontrar conflitos de pacotes. Por exemplo, quando o log4j-over-slf4j.jar e slf4j-log4j12.jar, haverá problemas quando os dois pacotes forem executados juntos ao mesmo tempo.
2. Este conflito pode ser causado por dependências explícitas ou dependências implícitas.
Dependências explícitas, você pode ver diretamente referências a dois pacotes conflitantes da <pendência> do arquivo pom.xml.
Dependências implícitas, pacotes conflitantes não podem ser vistos na <pendência> do pom.xml, mas são indiretamente introduzidos pelos pacotes introduzidos em <pendência>.
resolver
Primeiro, confirme quais dependências introduziram indiretamente o pacote. Use dependência do MVN: árvore para visualizar a árvore de dependência de todo o projeto, onde você pode ver todas as dependências, incluindo dependências indiretas.
Os resultados são semelhantes aos seguintes:
[INFO] +- JUNIT: JUNIT: JAR: 4.12: Teste [Info] | /- org.hamcrest: hamcrest-core: jar: 1.3: teste [info] +- org.apache.storm: storm-core: jar: 1.0.2: fornecido [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: fornecido [info] | +- com.lmax: disruptor: jar: 3.3.2: fornecido [info] | +- org.apache.logging.log4j: log4j-api: jar: 2.1: fornecido [info] | +- org.apache.logging.log4j: log4j-core: jar: 2.1: fornecido [info] | +-org.apache.logging.log4j: log4j-slf4j-impl: jar: 2.1: fornecido [info] | +-org.slf4j: log4j-over-slf4j: jar: 1.6.6: fornecido [info] | +- javax.servlet: servlet-api: jar: 2.5: fornecido [info] | /-org.slf4j: slf4j-api: jar: 1.7.7: compilar [info] +-com.aaa.khala: aaa-khala-insight-sdk-transfer-api: jar: 1.0.0-snapshot: compilar [info] | /-com.aaa.khala: aaa-khala-common: jar: 1.0.0-snapshot: compile [info] | +- javax.mail: javax.mail-api: jar: 1.5.5: compilar [info] | +- cglib: cglib: jar: 2.2.2: compilar [info] | +- org.aspectJ: Aspecjrt: jar: 1.7.4: compilar [info] | +- org.aspectJ: Aspecjweaver: jar: 1.7.4: Runtime [info] | +- org.javassist: javassist: jar: 3.20.0-ga: compile [info] | +- log4j: log4j: jar: 1.2.17: compilar [info] | +- org.slf4j: slf4j-log4j12: jar: 1.7.7: compile [info] | +- DOM4J: DOM4J: JAR: 1.6.1: compilar [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: compilar
Se você encontrar as dependências correspondentes do pacote conflitante, configure a exclusão na <pendência> do pom.xml, o pacote não será introduzido, por exemplo:
<Depencency> <Puerpid> com.aaa.khala </frugiD> <ArtifactId> aaa-khala-insight-sdk-transfer-api </artifactId> <versão 1.0.0-snapshot </sisters> <cllusions> <cclusion> <pursion> oug.slf4j </Groups> <clusions> <cclusion> <pursion> oug.slf4j </groups> <TarfactId> slf4j-log4j12 </stifactId> </clountion> </clusions> </pendencency>
Obrigado pela leitura, espero que isso possa ajudá -lo. Obrigado pelo seu apoio a este site!