0

我正在使用 JavaEE 6、EJB3、JSF2 和 JPA 来开发一个网上商店、后端逻辑和桌面管理应用程序。为此,我正在使用 Netbeans 7 和 Glassfish。

我想,在我使用 Glassfish 时遇到的许多稳定性问题中,其中一个确实是 bug。当它爬起来时,实际上没有办法修复它,直到它自行消失并且一切都会继续工作很短的一段时间,直到它回来。

它会在 EJB 模块停止工作时反映自身。Web 应用程序运行,桌面运行,但都不能访问 EJB。运行 EAR 时 Glassfish 服务器输出中的常见消息类似于:

警告:注释处理错误:java.lang.NoClassDefFoundError: rs/elfak/eposlovanje/beans/ManagerBeanRemote

警告:注释处理错误:java.lang.NoClassDefFoundError:rs/elfak/eposlovanje/beans/SubcategoryBeanRemote 警告:注释处理错误:java.lang.NoClassDefFoundError:rs/elfak/eposlovanje/beans/ProductBeanRemote

警告:注释处理错误:java.lang.NoClassDefFoundError: rs/elfak/eposlovanje/beans/CategoryBeanRemote

警告:注释处理错误:java.lang.NoClassDefFoundError: rs/elfak/eposlovanje/beans/ManagerBeanRemote

警告:注释处理错误:java.lang.NoClassDefFoundError: rs/elfak/eposlovanje/beans/SubcategoryBeanRemote

警告:注释处理错误:java.lang.NoClassDefFoundError: rs/elfak/eposlovanje/beans/ProductBeanRemote

警告:注释处理错误:java.lang.NoClassDefFoundError: rs/elfak/eposlovanje/beans/CategoryBeanRemote

严重:类 [ Lrs/elfak/eposlovanje/beans/CategoryBeanRemote; ] 未找到。出错时

加载[类练习.UiBean]

严重:类 [ Lrs/elfak/eposlovanje/beans/CategoryBeanRemote; ] 未找到。加载 [ class exercise.UiBean ] 时出错

这导致我的 CDI bean 崩溃,这就是所谓的UiBean(我没有走得足够远,所以命名只是暂时的)。

在 glassfish 控制台下,它还显示加载 UiBean 的错误,原因是:

org.jboss.weld.resources.spi.ResourceLoadingException:加载类exercise.UiBean时出错。. .

引起:java.lang.NoClassDefFoundError: Lrs/elfak/eposlovanje/beans/CategoryBeanRemote; 在 java.lang.Class.getDeclaredFields0(Native Method) 在 java.lang.Class.privateGetDeclaredFields(Class.java:2317) 在 java.lang.Class.getDeclaredFields(Class.java:1762)...

对于每个 EJB,依此类推。xxxRemote 项实际上是远程接口,EJB 的名称是这样的,但没有 Remote 后缀。

有时我会收到与 JPA 相关的错误,因为它无法创建表或执行 SQL(有时它会尝试删除表,尽管将 persistance.xml 设置为不创建表)。但这通常会在击中 Run 几次后消失。

对此可以做些什么?我已经在 Google 上搜索了几个解决方案,例如清理 AppData 中的一些 Netbeans 缓存、重新添加 ejb 和 war 项目、复制库,但没有什么能真正解决它。

我是否应该尝试其他一些应用程序服务器,因为在我看来它是我问题的根源?

4

1 回答 1

0

在其他几个工作站毫无问题地加入该项目后,我重新安装了 Glasfish 服务器和 Netbeans,它继续运行良好。

于 2013-05-28T23:25:25.113 回答