我正在开发一个包含持久性库 (JPA 1.2)、EJB 3 和 Web 表示层 (JSF) 的项目。我使用 Eclipse 开发应用程序,并通过 eclipse 插件在 Websphere Application Server Community Edition (Geronimo 2.1.4) 上发布应用程序(但如果我手动发布也会发生同样的事情)。发布到服务器时出现以下错误:
java.lang.NoClassDefFoundError: Could not fully load class: manager.administration.vehicles.VehicleTypeAdminBean
due to:manager/vehicles/VehicleType
in classLoader:
org.apache.geronimo.kernel.classloader.TemporaryClassLoader@18878c7
at org.apache.xbean.finder.ClassFinder.(ClassFinder.java:177)
at org.apache.xbean.finder.ClassFinder.(ClassFinder.java:146)...
在 web.xml 中,我引用了 EJB:
<ejb-local-ref>
<ejb-ref-name>ejb/VehicleTypeAdmin</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local>manager.administration.vehicles.VehicleTypeAdmin</local>
<ejb-link>VehicleTypeAdminBean</ejb-link>
</ejb-local-ref>
EJB 项目引用了持久性项目,Web 项目引用了这两个项目。我没有收到任何编译错误,所以我认为类和引用是正确的。
我不知道这是否是应用服务器问题,但我之前使用相同的配置参数在同一台服务器上运行了应用程序。
有人知道可能是什么问题吗?