问题描述
我正在使用Gradle 6.4.1,并且在org.apache.drill.exec:drill-jdbc-all:1.18.0和spring-boot-starter-data-jpa中的com.jayway.jsonpath包冲突
所以我想从drill-jdbc-all.jar中排除com.jayway.jsonpath包
compile ('org.apache.drill.exec:drill-jdbc-all:1.18.0') {
exclude group: 'com.jayway.jsonpath'
exclude module: 'json-path'
}
compile group: 'com.jayway.jsonpath',name: 'json-path',version: '2.4.0'
甚至尝试过
configurations {
all {
compile.exclude module: 'com.jayway.jsonpath'
}
}
但仍然显示 类层次结构是从以下位置加载的:
com.jayway.jsonpath.spi.mapper.JacksonMappingProvider: file:/Users/abc/.gradle/caches/modules-2/files-2.1/org.apache.drill.exec/drill-jdbc-all/1.18.0/6a0b608238f4a431684cd73d132d7467bc2c3967/drill-jdbc-all-1.18.0.jar
Action:
Correct the classpath of your application so that it contains a single,compatible version of com.jayway.jsonpath.spi.mapper.JacksonMappingProvider
解决方法
按照6.4.1文档的Excluding transitive dependencies部分,尝试一下:
dependencies {
...
implementation('org.apache.drill.exec:drill-jdbc-all:1.18.0') {
exclude group: 'com.jayway.jsonpath',module: 'json-path'
}
...
}