首页 > 解决方案 > 在 transaction.commit() 之后抛出 LinkageError

问题描述

我现在正在 jboss 上处理这个古老的遗留代码,但是有一天当我们部署回一个旧的工作战争文件时,一切都变得疯狂了。即使我们恢复到另一个战争文件,它也永远不会消失(即使重新启动也没有帮助)

这是 transaction.commit 之后抛出的异常。 java.lang.LinkageError: loader constraint violation: loader (instance of org/jboss/mx/loading/UnifiedClassLoader3) previously initiated loading for a different type with name "org/hibernate/Transaction"

我不确定发生了什么,因为它之前工作得很好。我不是部署战争文件的人,所以我不知道他是否不小心弄乱了一些配置。

对于我们使用 jboss 4.2.3.ga 的版本。

我想知道从哪里开始寻找,也许只是一些线索可能出了什么问题。

标签: javahibernatejboss

解决方案


现在好了。

这是因为 /lib 中缺少 hibernate jar。

Jboss 试图用它的统一类加载器找到 jar 并得到了其他东西。

所以我们只是将 hibernate-core-3.3.0.GA.jar 添加到 lib 文件夹中,因此将使用这个 jar。


推荐阅读