1、问题来源
在部署 Coco AI 最新版本的时候,前置需要安装 Easysearch。
当然如果部署过了 Elasticsearch,Easysearch 其实也可以不用安装。
我这里使用了 Easysearch 的 1.12.1 (2025-04-28) 版本。

如果不安装插件,不会报错,运行正常。
如果通过 initialize.sh 安装了插件,就会报如下的错误。
java.lang.NoClassDefFoundError: org/easysearch/monitor/Rollup/RollupStatsAction
详细的错误,见如下第 2 小节。

2、问题描述
[2025-06-03T13:15:03.54, 037][INFO ][o.e.n.Node ] [mytx-2025] node name [mytx-2025], node ID [7kgnlw9SEyTDw-tz8yAJ], cluster name [easysearch], roles [master, remote_cluster_client, data, ingest]
[2025-06-03T13:15:03.55, 226][ERROR][o.e.b.EasysearchuncaughtExceptionHandler] [mytx-2025] fatal error in thread [main], exiting
java.lang.NoClassDefFoundError: org/easysearch/monitor/Rollup/RollupStatsAction
at org.easysearch.IndexManagementPlugin.<init>(IndexManagementPlugin.kt:521) ~[?:?]
at org.easysearch.action.ActionModule.lambda$setupActions$3(ActionModule.java:575) ~[easysearch-1.12.1.jar:1.12.1]
at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:273) ~[?:?]
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]
at org.easysearch.action.ActionModule.setupActions(ActionModule.java:575) ~[easysearch-1.12.1.jar:1.12.1]
at org.easysearch.node.Node.<init>(Node.java:579) ~[easysearch-1.12.1.jar:1.12.1]
at org.easysearch.node.Node.<init>(Node.java:293) ~[easysearch-1.12.1.jar:1.12.1]
at org.easysearch.bootstrap.Bootstrap.setup(Bootstrap.java:219) ~[easysearch-1.12.1.jar:1.12.1]
at org.easysearch.bootstrap.Bootstrap.init(Bootstrap.java:367) ~[easysearch-1.12.1.jar:1.12.1]
at org.easysearch.Easysearch.execute(Easysearch.java:68) ~[easysearch-1.12.1.jar:1.12.1]
at org.easysearch.cli.Command.mainWithoutErrorHandling(Command.java:112) ~[easysearch-cli-1.12.1.jar:1.12.1]
at org.easysearch.bootstrap.Easysearch.main(Easysearch.java:67) ~[easysearch-1.12.1.jar:1.12.1]
Caused by: java.lang.ClassNotFoundException: org.easysearch.monitor.Rollup.RollupStatsAction
at java.net.URLClassLoader.findClass(URLClassLoader.java:445) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:587) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
... 17 more
通过上面的报错可以初步推理:
在 org.easysearch 应用程序的运行中,出现了 java.lang. NoClassDefFoundError 异常,原因是找不到 org. easysearch. monitor.Rollup.RollupStatsAction 类,可能是由于类文件缺失、依赖库版本不匹配、类路径配置错误、动态加载失败、JAR 文件损坏或运行时环境不兼容等原因导致。
建议检查构建过程、依赖配置、类路径以及 Java 版本兼容性,以逐步排查和解决问题。
初步认定:这可能是新版本的一个 bug。
3、临时解决方案探讨
既然是 "IndexManagementPlugin" 插件环节的报错,临时解决方案就是把插件卸载掉。

3.1 步骤1:查看插件列表。

3.2 步骤2:移除 IndexManagement 插件。

5、小结
先保证功能能运行。

文章转载自铭毅天下Elasticsearch,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




