Gradle依赖版本冲突-Jackson发出的NoSuchMethodError

时间:2019-11-18 10:53:37

标签: java gradle jackson conflicting-libraries gradle-shadow-plugin

我正在为一个异常而苦苦挣扎,这可能是由于我的两个Gradle模块中的依赖项不匹配导致的。 异常状态

  

java.lang.NoSuchMethodError:com.fasterxml.jackson.dataformat.smile.SmileGenerator.getOutputContext()Lcom / fasterxml / jackson / core / json / JsonWriteContext;       在com.fasterxml.jackson.dataformat.smile.SmileGenerator.close(SmileGenerator.java:1516)       在org.elasticsearch.common.xcontent.json.JsonXContentGenerator.close(JsonXContentGenerator.java:445)       。       ...`

我的模块架构看起来像这样 enter image description here

我认为此问题是由我的ELASTIC模块中派生的JACKSON依赖关系引起的, 因为ElasticSearch:2.2.0需要Jackson:2.6.2,但由于Gradle将依赖关系解析为所需的最高版本,因此版本为2.9.9。

在此阶段,我无法真正升级/降级ElasticSearch / SpringDataNeo4j依赖项,因为这将需要升级许多其他模块。

我对Gradle的经验并不丰富,但是我以前曾经阅读过有关依赖项着色和Maven的知识,但是我不确定这是否对这种特定的模块体系结构有帮助。

仅创建一个扁平的CORE模块罐就足够了吗?当ELASTIC模块包含CORE模块时,它会从ELASTIC模块中隐藏(“隐藏”)Jackson依赖关系吗?

0 个答案:

没有答案