本地运行Liberty Server报错:com.ibm.ws.st.core插件实例化类失败
Liberty启动报类实例化失败(缺失IJavaHotCodeReplaceListener依赖)排查方案
问题核心信息
- 操作场景:本地配置Liberty Server运行wlp,相同配置此前可正常运行,本次启动触发插件加载失败
- 报错原文:插件
com.ibm.ws.st.core无法实例化类com.ibm.ws.st.core.internal.launch.WebSphereLaunchConfigurationDelegate,关联依赖类缺失:org.eclipse.jdt.debug.core.IJavaHotCodeReplaceListener - 额外阻塞:公开渠道暂未检索到对应排查参考,访问IBM WebSphere官网提交支持工单时触发站点访问错误,无法正常提交反馈
根因说明
该报错属于Eclipse平台下Liberty开发者工具的依赖加载异常,org.eclipse.jdt.debug.core.IJavaHotCodeReplaceListener是Eclipse JDT调试模块提供的热代码替换标准接口,Liberty的启动配置委托类加载时找不到该接口,触发场景集中在三类:
- Eclipse插件缓存损坏,插件升级/安装过程中出现文件写入不全、依赖校验失败
- Liberty开发者工具(WDT)和Eclipse JDT组件版本不兼容,低版本JDT未提供该接口
- 手动放入dropins目录安装WDT时,未自动拉取配套依赖,漏装对应版本的JDT调试组件
修复步骤(按操作成本从低到高排序)
- 清理插件缓存
完全退出Eclipse,打开Eclipse安装目录下的configuration/org.eclipse.osgi路径,删除该目录下所有子文件和子文件夹(保留org.eclipse.osgi根目录),重启Eclipse后重试启动wlp。80%以上无配置变更突发的类找不到问题,都可以通过清理OSGi插件缓存解决。 - 校验JDT组件完整性
打开Eclipse菜单Help > About Eclipse IDE > Installation Details > Plug-ins,搜索org.eclipse.jdt.debug.core:- 如果搜索不到该插件,或者插件状态不是Active/Resolved,说明JDT调试组件缺失或损坏。打开
Help > Install New Software,选择当前Eclipse版本对应的官方更新源,搜索Eclipse Java Development Tools,勾选JDT调试相关组件完成安装,重启后重试。
- 如果搜索不到该插件,或者插件状态不是Active/Resolved,说明JDT调试组件缺失或损坏。打开
- 对齐组件版本
如果近期升级过WDT插件,确认版本兼容关系:2022年9月之后发布的WDT版本,最低要求Eclipse 2022-09及以上版本,低版本Eclipse自带的JDT组件未提供IJavaHotCodeReplaceListener接口。要么降级WDT到适配当前Eclipse的历史版本,要么升级Eclipse到WDT要求的最低版本即可修复。 - 干净重装WDT
以上步骤无效时,在Installation Details的Installed Software标签页,选中所有IBM WebSphere Liberty相关组件点击Uninstall完全卸载,重启Eclipse清理一次OSGi缓存后,通过Eclipse Marketplace重新安装对应版本的WDT即可,不要使用手动拷贝jar包到dropins目录的安装方式,避免依赖漏装。
IBM工单提交临时处理
官网访问报错时,可以先导出Eclipse错误日志备用,日志路径为当前工作空间下的.metadata/.log,待站点访问恢复后提交工单时,附上完整错误栈、Eclipse版本、WDT版本、本地wlp版本信息即可。
内容的提问来源于stack exchange,提问作者lrpowell
相关产品推荐
相关产品推荐

