【记录一个ES7.9.2 Maven依赖使用的坑】

状况:直接引入(ElasticSearch 7.9.2 和 HighLevelClient7.9.2)到主项目pom中正常启动,但如果将其引入到插件项目中,再在主项目中引入子工程,则会报java.lang.NoClassDefFoundError: com/fasterxml/jackson/core/TSFBuilder

原因:直接引入ES的依赖包,优先级高于子模块的依赖包,于是优先下载es所依赖的jackson-core2.10.4; 但如果将ES引入在插件项目,再从主项目引入插件项目,此时如果插件项目中没有直接标明引jackson-core,别的引用项目中有,就会去从别的项目中依赖jackson-core2.9.6,这样一来ES就找不到它所依赖的2.10.4版本,导致了启动异常

解决:办法1:,在插件项目中指定依赖jackson-core2.10.4

办法2

办法3

你可能感兴趣的:(【记录一个ES7.9.2 Maven依赖使用的坑】)