我有一些跨 webapps 使用的核心功能打包在一个公共类 JAR 中。此 JAR 具有引用 EJB 的类和引用 CORE.jar 和 EJB.jar 的 Web 应用程序。
- CORE.jar -> EJB.jar
- WEBAPP.war -> CORE.jar
- WEBAPP.war -> EJB.jar
我正在使用 Glassfish 3.1.2 部署在 Eclipse 开发插件中。
在我的部署日志中,我看到如下故障。严重:类 [ Lnet/webframeone/ejb/data/GeoLocationsBeanLocal; ] 未找到。加载 [ 类 net.webframeone.servlet.action.GetGeoLocation ] 时出错
这里的引用是从 CORE.jar 中的一个类到 EJB.jar 中的一个类。EAR 大致具有如下结构。
- EJB.jar
- WEBAPP.war
- lib/CORE.jar
我尝试将类路径条目放在 CORE.jar 上的 manifest.mf 中,但无济于事。
如果我将 WEBAPP 与包含 CORE.jar 和 EJB.jar 的部署程序集打包在一起,并将其部署在 EAR 之外,它就可以正常工作。
任何想法都会被热情地排除在外!