我当前的项目由一个war和ejb模块组成,使用一个jar(通过maven合并)。这个jar包含一个CDI组件,当我在war模块中注入它时,它的工作方式与预期的一样,但是当我在ejb模块中注入时,从Eclipse WAS 8.5(完整配置文件)启动期间,我得到一个NoClassDefFoundError。eclipse:EJB模块中的外部CDI:NoClassDefFoundError
当我首先启动服务器时,稍后添加注入并重新发布它似乎工作。另外,当我使用Liberty配置文件时,它可以工作同样在Z/OS和IPAS上,它按预期工作。
我认为它可能有类加载的东西,但不知道如何正确解决这个问题。
使用Eclipse霓虹灯,WAS 8.5.5.11完整资料,JEE6 项目,同时该组件是用java 6
这是堆栈跟踪的第一部分用java 8:
[13-9 -17 14:54:26:589 CEST] 0000003e InjectionProc W CWNEN0047W:BestelFacade类的字段上的资源注释将被忽略。在java.lang.Class.getDeclaredFieldsImpl(本机方法)记录仪
感谢
JAR位于您的部署位置(ear/lib或war/lib)在哪里?它包含哪些bean(纯CDI或EJB无状态/有状态bean)?在这里粘贴你的'NoClassDefFoundError'。 – Siliarus
该类的类文件不可用于尝试执行此操作的类加载器。你很可能需要把它放在别的地方。 –
@Siliarus jar就像其他人一样只是一个maven依赖项。据我所知,它包含纯CDI bean(仅用于@Dependent的注释)。对于错误请参阅编辑的问题 – Bgvv1983