Codeready Studio 12.19.1停止JBoss EAP 7.3触发NoClassDefFoundError如何解决
问题现象
在Codeready Studio 12.19.1版本环境下,从「服务器(Servers)」选项卡执行Red Hat JBoss EAP 7.3服务停止操作时,触发内部错误,完整报错信息如下:
执行“停止Red Hat JBoss EAP 7.3”期间发生内部错误:
java.lang.NoClassDefFoundError: 无法初始化类org.wildfly.security.auth.client.DefaultAuthenticationContextProvider
故障根因
该异常是Codeready Studio 12.19.1内置的WildFly安全认证组件依赖版本与JBoss EAP 7.3运行时的认证上下文实现不兼容导致,Studio调用服务停止接口时需要加载对应认证上下文提供类,类初始化失败触发NoClassDefFoundError错误。
修复方案
- 临时方案:调整服务器停止策略
打开JBoss EAP 7.3对应的服务器配置页面,将停止操作的默认受控远程停止修改为强制终止本地进程,跳过认证接口调用环节,无需修改依赖即可直接停止服务。 - 依赖修复方案:替换匹配版本的安全组件包
完全关闭Codeready Studio后,进入安装根目录下的plugins文件夹,找到前缀为org.wildfly.security.auth.client的jar包,替换为JBoss EAP 7.3适配的1.17.x版本组件包,重启Studio后即可正常执行受控停止操作。 - 版本升级方案:升级Codeready Studio版本
升级Codeready Studio到12.21及以上正式版本,该版本已官方修复WildFly安全组件与JBoss EAP 7.x系列的兼容问题,升级后即可直接解决该类加载异常。
内容的提问来源于stack exchange,提问作者TSSK
相关产品推荐
相关产品推荐

