我使用JavaEE 6, EJB3, JSF2和JPA来开发web商店,后端逻辑和桌面管理应用程序。我使用Netbeans 7和Glassfish。
在我使用Glassfish遇到的许多稳定性问题中,我想,其中一个是真正的bug。当它爬起来的时候,几乎没有办法修复它,直到它自己去,所有的东西都继续工作一段时间,直到它回来。
它在EJB模块停止工作时反映自身。web应用程序可以运行,桌面也可以运行,但是两者都不能访问EJB。当运行EAR时,Glassfish Server输出中的通常消息类似于:
警告:注释处理错误:java.lang.NoClassDefFoundError: rs/elfak/eposlovanje/beans/ManagerBeanRemote
警告:注释处理错误:java.lang.NoClassDefFoundError: rs/elfak/eposlovanje/beans/SubcategoryBeanRemote警告:注释处理错误:java.lang.NoClassDefFoundError:rs/elfak/eposlovanje/豆/ProductBeanRemote
警告:注释处理错误:java.lang.NoClassDefFoundError:rs/elfak/eposlovanje/豆/CategoryBeanRemote
警告:注释处理错误:java.lang.NoClassDefFoundError:rs/elfak/eposlovanje/豆/ManagerBeanRemote
警告:注释处理错误:java.lang.NoClassDefFoundError:rs/elfak/eposlovanje/豆/SubcategoryBeanRemote
警告:注释处理错误:java.lang.NoClassDefFoundError:rs/elfak/eposlovanje/豆/ProductBeanRemote
警告:注释处理错误:java.lang.NoClassDefFoundError:rs/elfak/eposlovanje/豆/CategoryBeanRemote
SEVERE: Class [Lrs/elfak/eposlovanje/beans/CategoryBeanRemote;不发现。当
时发生错误加载[class exercise]。UiBean]
SEVERE: Class [Lrs/elfak/eposlovanje/beans/CategoryBeanRemote;不发现。加载类练习时出错。UiBean]
这导致我的CDI bean崩溃,这就是所谓的UiBean
(我没有走得足够远,所以命名只是临时的)。
在glassfish控制台下,它还显示了加载UiBean时的错误,原因是:
org.jboss.weld.resources.spi。ResourceLoadingException:加载类练习出错。UiBean...
原因:java.lang.NoClassDefFoundError:Lrs/elfak/eposlovanje/豆/CategoryBeanRemote;在. lang . class。getdeclardfields0(本机方法)atjava.lang.Class.privateGetDeclaredFields (Class.java: 2317)在java.lang.Class.getDeclaredFields (Class.java: 1762)…
依此类推。xxxRemote项实际上是远程接口,ejb就是这样命名的,但是没有remote后缀。
有时我得到一个与JPA相关的错误,因为它不能创建表或执行SQL(有时它试图删除表,尽管persistence .xml设置为不创建表)。但这通常在点击运行几次后就会消失。
对此我们能做些什么呢?我在谷歌上搜索了一些解决方案,比如在AppData中清理一些Netbeans缓存,重新添加ejb和war项目,复制库,但没有什么能真正削减它。
我是否应该尝试其他应用服务器,因为它看起来是我的问题的根源?
在其他几个工作站加入该项目后没有问题,我重新安装了Glasfish服务器和Netbeans,它继续正常工作。