Glassfish 中的休眠 - Ejb3Configuration NoClassDefFoundError

2023-12-28

我已将 Hibernate 库放入 Glassfish 域和 Netbeans 项目的库集合中。hibernate-entitymanager.jar包含 HibernatePersistence (调用堆栈中的最后一个类)和 Ejb3Configuration,因此我很困惑为什么会出现 Ejb3Configuration 缺少类的错误。

java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.ejb.Ejb3Configuration
    at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:130)
    at com.sun.enterprise.server.PersistenceUnitLoaderImpl.load(PersistenceUnitLoaderImpl.java:149)
    at com.sun.enterprise.server.PersistenceUnitLoaderImpl.load(PersistenceUnitLoaderImpl.java:84)
...

我以前从未见过这个特定的错误消息,但我可以解释一下它的含义并给出一个可能的原因。

The line



java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.ejb.Ejb3Configuration
  

并不意味着 JVM 找不到该类org.hibernate.ejb.Ejb3Configuration。这意味着JVM可以找到这个类,但它已经尝试加载这个类,但失败了。

这是文字Could not initialize class ...这表明这已经发生了。如果 JVM 根本找不到该类,您将得到类似以下内容的信息:



java.lang.NoClassDefFoundError: org/hibernate/ejb/Ejb3Configuration
  

顺便说一句,这也意味着您正在使用 Java 6 - 在 Java 5 中,相应的异常没有消息。

以下两个类演示了这种行为。班上Unloadable无法加载,因为它的静态初始化程序总是抛出异常。我们尝试加载这个类,捕获ExceptionInInitializerError结果,并尝试加载Unloadable again.

class Unloadable {
    static {
        if (true) { throw new RuntimeException(); }
    }
}

public class LoadingTest {
    public static void main(String[] args) throws Exception {
        try {
            Class.forName("Unloadable");
        }
        catch (ExceptionInInitializerError e) {
            try {
                Class.forName("Unloadable");
            }
            catch (NoClassDefFoundError e2) {
                System.out.println("XXXXXXXXXXXXXXXXXXXXX");
                e2.printStackTrace(System.out);
            }
        }
    }
}

当我上课的时候LoadingTest,我得到以下输出:



XXXXXXXXXXXXXXXXXXXXX
java.lang.NoClassDefFoundError: Could not initialize class Unloadable
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:169)
        at LoadingTest.main(LoadingTest.java:14)
  

我无法说出是什么导致最初的尝试加载org.hibernate.ejb.Ejb3Configuration失败。很可能是这样Ejb3Configuration本身取决于类路径中缺少的类。可能值得浏览所有类别的列表imported by 并确保所有不在以下范围内的人java.* or javax.*位于 Glassfish 和 Netbeans 可以看到的 JAR 中。

另外,我只能推测 JVM 为何尝试加载Ejb3Configuration twice。当第一次类加载失败时,会出现异常(通常是某个类的子类)LinkageError)被抛出。这种类型的异常并不经常被捕获,所以我最好的猜测是发生了类似以下的事情:

try {
    // Some code that loads Ejb3Configuration and fails.
}
finally {
    // Some code that also loads Ejb3Configuration and fails.
}

如果代码中finally块抛出异常,该异常将替换块中抛出的任何异常try堵塞。我建议这样做是因为类似的事情发生在这个问题 https://stackoverflow.com/questions/596999。这个问题中发布的堆栈跟踪来自finally block.

如果我的回答仍然对您没有帮助,您可以发布您看到的整个堆栈跟踪吗?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Glassfish 中的休眠 - Ejb3Configuration NoClassDefFoundError 的相关文章

  • 外部插入记录时 Hibernate 集合不会更新

    我有一个映射的集合 当我在另一个应用程序中从外部将项目添加到该集合时 该集合不会更新 二级缓存已禁用 例子 session HibernateDataSource openSession User dao User session load
  • 在eclipse java项目中加载dll文件

    我正在尝试添加文件sqljdbc auth dll到项目库 我将包含 dll 的文件夹添加为外部类文件夹 在这里 我基本上尝试使用 Microsoft 提供的 SQL 驱动程序连接到我的 SQL SERVER 2008 数据库 我的代码是
  • Hibernate 时间戳 - 毫秒精度

    似乎以毫秒精度存储时间戳是休眠的一个已知问题 我在数据库中的字段最初设置为时间戳 3 但我也尝试过日期时间 3 不幸的是 它没有任何区别 我尝试过使用 Timestamp 和 Date 类 最近我开始使用 joda time 库 经过所有这
  • Spring Hibernate 4 支持

    我正在使用 Hibernate 4 CR1 我的应用程序之前使用 Spring hibernate 支持 版本 3 我还没有找到任何相关信息 是否有任何迹象表明 Spring 何时 或哪个版本 将提供对 Hibernate 4 的支持 UP
  • 帮助我避免 JPA、Hibernate 和 MySQL 的连接超时

    我正在使用 JPA Hibernate 作为提供者 Glassfish 和 MySQL 开发中一切都运行良好 但是当我将应用程序部署到测试服务器并让它运行 大部分空闲 过夜时 我通常会在早上遇到这样的情况 2011 03 09T15 06
  • Glassfish:在部署期间修改 EAR 的部署描述符

    经过几天的搜索 尝试和摇头 我将这个问题发布到 SO 尽管它seems已经得到答复 这是场景 我有一个 EAR 应用程序 目前 包含一个 WAR 和一个 EJB 模块 EJB 模块使用 JPA persistence xml 并且一些无状态
  • Active MQ - HelloWorld 示例异常

    我正在尝试运行 hello world 示例在这里找到 http activemq apache org hello world html I added activemq all 5 5 1 jar已经到图书馆了 它构建成功 但出现以下警
  • hibernate.jpa.HibernatePersistenceProvider 无法转换为 javax.persistence.spi.PersistenceProvider

    我使用 vaadin 为运行 hibernate 4 3 1 的应用程序开发 UI 我想做的是将数据绑定到 vaadin JPAcontainer 然后在 Grid 组件中使用它以允许延迟加载 但是当我尝试创建 EntityManager
  • Hibernate注解

    我们应该在基于 Hibernate 的应用程序中使用 org hibernate annotations Entity 而不是 javax persistence Entity 吗 或者说没有这样的规则 org hibernate anno
  • NetBeans 采用 JSF 服务器库而不是注册库

    我有一个具有以下规格的企业应用程序 EAR JavaEE 5 JDK 6 JSF 2 运行在Weblogic 11g 10 3 6 上 我里面有一个 WAR weblogic 服务器有 JSF 库 但我想要我已经提供的库 问题是 当我在 项
  • 强制 glassfish 4 使用 Jackson 2.3

    我编写了一个应在 Glassfish 4 上运行的 Maven 应用程序 标准应用程序配置如下所示 javax ws rs ApplicationPath resources public class ApplicationConfig e
  • Java安全框架

    在新项目中 安全性总是排在最后 或者您使用像 Spring 这样的框架 其中安全性已经内置并且可以轻松切换 我试图找到一个可以插入 Swing 和 Web 应用程序 以及 JavaFX 的开放安全框架 也许很容易理解 我研究了普通的 JAA
  • JSF 标签未呈现为 HTML [重复]

    这个问题在这里已经有答案了 我正在关注Java EE 第一杯教程使用Netbeans and 玻璃鱼 当我执行 JSF Web 层时 我被指示编码 浏览器获得在 xhtml 文件中编码的相同 JSF 标记 并且标记不会呈现为 HTML 标记
  • 在 ejb 3.0 中声明事务

    我怎样才能强制 EJB 在每个命令之后不刷新所有内容 我想做一个事务 我读到这是通过某种方式声明完成的 但具体如何呢 Stateless public class SomeBean PersistenceContext EntityMana
  • Hibernate:双向一对多,以一为父级

    我正在尝试建立一个以 one 为父级的双向一对多关系 我有一个父母 Entity public class VideoOnDemand OneToMany cascade CascadeType ALL LazyCollection Laz
  • 在运行时后期更改 SessionFactory 数据源 jdbcurl

    我正在为没有网络连接的环境编写一个桌面java应用程序 我试图将应用程序数据尽可能安全地存储在加密的进程内 hsqldb 中 并使用未加密的用户信息 hsqldb Hsqldb 要求在创建连接时在 jdbcurl 中设置 crypto ke
  • 使用 Hibernate/Spring 生成数据库更新脚本

    我有一个项目 我们过去依赖 hibernate 来更新数据库 hibernate hbm2ddl auto update 即使在产品上 我正在将其迁移为使用 liquibase 我唯一担心的是 并不是我的团队中的每个人都是 sql 专家 因
  • 如何配置 Spring boot 以使用两个数据库?

    我在用春季启动 2 X with 休眠5连接两个不同的 MySQL 数据库 Bar 和 Foo 在不同的服务器上 我试图列出一个实体的所有信息 自己的属性和 OneToMany and ManyToOne关系 来自 REST 控制器中的方法
  • 如何从我的审核表中删除条目?

    我目前正在与 Hibernate Envers 合作 如何删除审计表中与我要删除的实体相关的条目 我的实体与其他实体没有关系 我发现我必须这样做onPostDelete我的自定义监听器的方法 import org hibernate env
  • hibernate中映射到数据库表的bean的默认继承策略是什么?

    这是我在 stackoverflow 中的第一个查询 我想我正在提供所有必要的输入 我已经提供了我的 Java bean 和数据库表详细信息如下 Java Bean 类 import java sql Timestamp import ja

随机推荐

  • Paypal 快速结账错误 订单总额缺失。错误10400

    我有问题 我正在尝试将多个商品发送到 Paypal 但它显示 订单总数丢失 10400 错误 版本 76 0我正在贝宝沙箱上测试我的请求 AMT 106 72 RETURNURL http 3A 2F mydomainname com 2F
  • 两个不同区域内的实验数据拟合

    我正在拟合一组实验数据 sample https docs google com spreadsheets d 1JOw7bDwWWXSkR uU2aELrxx33bdqfR1nVci w1VFUOw edit usp sharing 在两
  • 比较Python中的大量字典列表

    我从来没有想过我会遇到 python 的速度问题 但我确实遇到了 我正在尝试根据字典值来比较非常大的字典列表 我比较两个列表 第一个列表如下 biglist1 transaction somevalue id somevalue date
  • 如何使用 ObservableCollection 源实现 XAML 单选按钮控件?

    我有以下内容ComboBoxXAML 中的元素
  • 使用 Readiness Probe 和 RollBack 策略的 Kubernetes 0 停机时间不起作用

    我已经在 Kubernetes 上设置了一个 Node 应用程序 我正在运行单个副本 并且希望在更新映像时停机时间为 0 我使用更新我的 Podset Image在 Kubernetes 上 set image deployment dev
  • Payola 问题:nil:NilClass 的未定义方法“amount”

    我刚刚学习如何使用 Payola 为我的 RoR 5 1 5 测试应用程序创建订阅 我正在按照 wiki 上的说明进行操作 我已经设置了从 Wiki 上的示例中获取的示例表单 并将其直接放入 app views subscriptions
  • 从 RStudio 访问命令行 (cmd)

    在我在 R 下的工作中 我需要调用另一个软件 ANSYS 为此 我正在 R 下寻找一个允许访问命令行窗口 cmd 的命令 例如 在 matlab 下 字符 允许执行此操作 谢谢 您可以使用system system2 or shell在 W
  • IBOutlet 声明?

    我已经看到下面的代码以 3 种不同的方式编写 关于 IBOutlet 这有关系吗 我想说将 IBOutlet 添加到声明和 property 中会更简洁 只是财产 class SwitchViewController interface i
  • 关于对象比较

    我有一个 java 类 Rec 我有两个实例 Rec1 和 Rec2 我想检查 Rec1 和 Rec2 的值是否相等 如果我这样做 Rec1 equals Rec2 是正确的做法吗 class Rec private BigDecimal
  • 如何从 URL 参数获取 unicode 字符?

    我需要使用 GET 请求通过 JavaScript 客户端将 JSON 发送到我的服务器 因此我开始回显响应以确保翻译过程中不会丢失任何内容 普通文本似乎没有问题 但是一旦我包含任何类型的 Unicode 字符 例如 该字符就会以某种方式编
  • JavaScript:回调函数参数与其他变量同名?

    var str internet performAction function str console log str 私有变量有问题吗str并且还有一个带有同名参数的回调函数 Thanks 这只是一个标准范围的情况 它是作为参数传递给另一
  • Android 机器未联网

    当我的应用程序连接到 WiFi 网络时 我在运行网络服务时遇到问题 我收到以下异常 java net SocketException socket failed ENONET Machine is not on the network 在下
  • 是否可以在不使用图像映射软件的情况下获得图像映射的坐标?

    我正在学习 html css 令我困惑的一件事是图像映射的想法 我该如何获取图像一部分的坐标并将其插入我的区域标签而不使用像 gimp 这样的图像映射软件 使用 gimp 的图像映射工具确实很有用 但我担心将来我需要知道如何在没有 gimp
  • 在 python 中从密码生成 RSA 密钥

    我希望能够生成并再生相同的 RSA 密钥password 和盐 单独在python 目前我正在使用 pycrypto 进行此操作 但是 它似乎并不能单独从密码生成相同的密钥 原因似乎是当 pycrypto 生成 RSA 密钥时 它在内部使用
  • 带有结构和空元胞数组的 MATLAB“bug”(或非常奇怪的行为)

    我不知道这里发生了什么事 我用的是R2006b 在我提交错误报告之前 拥有较新版本的人是否有机会测试一下他们是否获得相同的行为 code bug1 m function bug1 S struct nothing something add
  • JavaScript 正则表达式替换字符序列

    我想在这种特定情况下用下划线替换字符串开头和结尾的所有空格 var a console log myReplace a prints 即 第一个 之前的字符串开头的所有空格以及最后一个 之后的所有空格 其他所有内容 包括字符串中间的空格 保
  • Django/Python 循环模型参考

    好的 所以我正在尝试编写组织良好的代码 并实际制作单独的 django 应用程序 而不是将所有内容集中到 1 个应用程序中 我的问题是我有 3 个应用程序 每个应用程序都引用下一个应用程序中的 1 个其他模型 所以基本上我有一个无限循环 应
  • 如何在matplotlib中制作较粗的茎线

    我想在使用时在 python 中制作更粗的茎线plt stem 这是我的代码 import matplotlib pyplot as plt import numpy as np N 20 n np arange 0 2 N 1 x np
  • 静态块与静态方法 - 初始化静态字段

    出于好奇 我测量了静态块和静态方法初始值设定项之间的性能 首先 我在两个单独的 java 类中实现了上述方法 如下所示 First class Dummy static java util List
  • Glassfish 中的休眠 - Ejb3Configuration NoClassDefFoundError

    我已将 Hibernate 库放入 Glassfish 域和 Netbeans 项目的库集合中 hibernate entitymanager jar包含 HibernatePersistence 调用堆栈中的最后一个类 和 Ejb3Con