openejb-core.jar中openwebbeans.properties疑似拼写错误致部署异常
TomEE 8.0.11 EJB部署ClassNotFoundException问题排查及临时修复
问题现象
部署传统EJB到TomEE 8.0.11时,启动抛出如下异常:
java.lang.ClassNotFoundException: org.apache.webbeans.el.el22.EL22Adaptor not found
问题根源排查
追踪异常发现,配置项org.apache.webbeans.spi.adaptor.ELAdaptor的值org.apache.webbeans.el.el22.EL22Adaptor来自openejb-core.jar内的META-INF/openwebbeans/openwebbeans.properties文件:
... ################################### Default EL Adaptor #################################### #Default implementation oforg.apache.webbeans.spi.adaptor.ELAdaptor org.apache.webbeans.spi.adaptor.ELAdaptor=org.apache.webbeans.el.el22.EL22Adaptor ################################################################################################ ...
但TomEE中并不存在这个类,OpenWebBeans项目里唯一实现org.apache.webbeans.spi.adaptor.ELAdaptor的类是org.apache.webbeans.el22.EL22Adaptor(少了中间的el包层级)。进一步确认:openejb仓库的对应配置文件存在同样的错误,而OpenWebBeans当前官方仓库的配置已修正该拼写问题。
临时解决办法
手动修改TomEE安装目录下lib/openejb-core.jar内的META-INF/openwebbeans/openwebbeans.properties文件,将配置项的值改为正确的类全限定名org.apache.webbeans.el22.EL22Adaptor,修改后服务可正常启动。但该修改是临时的,重新部署或替换Jar包后会失效。
诉求
希望官方确认该问题属于配置拼写错误还是打包环节的问题,并尽快发布修复版本。
内容的提问来源于stack exchange,提问作者alegria
相关产品推荐
相关产品推荐

