【开发心得】记一次springboot2.x集成spring data elasticsearch java.lang.NoSuchFieldError: LATEST的报错
前言: 最近新模块需要引入新版es,在自己建立的单独的boot工程里边,正常集成,正常处理业务。但是搬到父工程里,发现报错。
奇怪了,之前的群组工程并没有使用es或者solr啊,为啥启动不起来呢。
1.一个小儿科的问题,包路径多了一层, 导致bean注入失败。
2.工程里边包含lucene。。。。(前辈之前做测试的时候加的)
3.还有一个问题是,如果是父子工程的情况下,手动指定elastic search版本,需要在父工程的properties中指名版本号。
报错:java.lang.NoSuchFieldError: LATEST
通过查看报错处Environment对象源码,发现有如下变量声明。
public static final org.apache.lucene.util.Version DEFAULT_LUCENE_MATCH_VERSION = org.apache.lucene.util.Version.LATEST;
显然该变量又引用了lucene-core-version.jar下的工具类Version中的变量值。
解决方案:
去掉lucene以来即可。
分类:
Springboot2
, 深入源码
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!