狀況:直接引入(ElasticSearch 7.9.2 和 HighLevelClient7.9.2)到主項目pom中正常啟動,但如果將其引入到插件項目中,再在主項目中引入子工程,則會報java.lang.NoClassDefFoundError: com/fasterxml/jackson/core/TSFBuilder
原因:直接引入ES的依賴包,優(yōu)先級高于子模塊的依賴包,于是優(yōu)先下載es所依賴的jackson-core2.10.4; 但如果將ES引入在插件項目,再從主項目引入插件項目,此時如果插件項目中沒有直接標明引jackson-core,別的引用項目中有,就會去從別的項目中依賴jackson-core2.9.6,這樣一來ES就找不到它所依賴的2.10.4版本,導致了啟動異常
解決:辦法1:,在插件項目中指定依賴jackson-core2.10.4
辦法2
辦法3