我正在使用第三方依赖项,它将一些杰克逊文件着色为 shaded.jackson.core.* 或 shaded.jackson.databind.* 并在其应用程序中使用它(作为导入)。但是,我想使用与此依赖项中阴影不同的杰克逊版本。所以,我试图在 gradle 中使用 relocate 功能来同样(使用最新版本)对 jackson 依赖项进行遮蔽,然后使用它。
shadowJar {
mergeServiceFiles()
classifier = ''
dependencies {
include(dependency('com.fasterxml.jackson.core:jackson-annotations:2.9.6'))
include(dependency('com.fasterxml.jackson.core:jackson-core:2.9.6'))
include(dependency('com.fasterxml.jackson.core:jackson-databind:2.9.6'))
}
relocate 'com.fasterxml.jackson.core', 'shaded.jackson.core'
}
但是当我用 gradle 构建项目时,我得到“由:java.lang.ClassNotFoundException:shaded.jackson.core.JsonProcessingException 引起”。在这里,“shaded.jackson.core.JsonProcessingException”是从第三方依赖项中的某个 java 类调用的。欢迎任何建议或更正!