Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
冬眠5+;Glassfish 4.1.1:java.lang.NoSuchMethodError:org.jboss.logging.Logger.debugf(Ljava/lang/String;I)V_Java_Hibernate_Glassfish_Hibernate 5.x - Fatal编程技术网

冬眠5+;Glassfish 4.1.1:java.lang.NoSuchMethodError:org.jboss.logging.Logger.debugf(Ljava/lang/String;I)V

冬眠5+;Glassfish 4.1.1:java.lang.NoSuchMethodError:org.jboss.logging.Logger.debugf(Ljava/lang/String;I)V,java,hibernate,glassfish,hibernate-5.x,Java,Hibernate,Glassfish,Hibernate 5.x,当我将Hibernate 5添加到我的网站时,我无法让它在Glassfish 4.1.1中工作。我总是出错 java.lang.NoSuchMethodError: org.jboss.logging.Logger.debugf(Ljava/lang/String;I)V 我试图替换Glassfish的modules文件夹中的jboss日志库,就像我在一个类似问题的答案中读到的一样,但它没有改变任何东西。我还尝试使用Hibernate 4,但这导致了另一个错误。尝试清理域中的glassfisho

当我将Hibernate 5添加到我的网站时,我无法让它在Glassfish 4.1.1中工作。我总是出错

java.lang.NoSuchMethodError: org.jboss.logging.Logger.debugf(Ljava/lang/String;I)V


我试图替换Glassfish的modules文件夹中的jboss日志库,就像我在一个类似问题的答案中读到的一样,但它没有改变任何东西。我还尝试使用Hibernate 4,但这导致了另一个错误。

尝试清理域中的glassfish
osgi缓存文件夹。您可以在这个Payara github版本中找到详细信息:(Payara是Glassfish的一个分支,具有附加功能,因此基本机制与Glassfish相同)

在我的例子中,我在tomcat上运行带有JPA注释的Hibernate 5,当我更改为Glassfish 4.1时停止工作

错误:

找不到hibernate.properties

确保:src/main/resources/hibernate.cfg.xml存在

如果您只有hibernate核心的依赖项,那么我使用的是hibernate注释和hibernate公共注释,这会产生冲突。hibernate 5不需要这两个,我在某个地方读过。尝试删除;)

之后会出现一个新错误:

java.lang.NoSuchMethodError:org.jboss.logging.Logger.debugf(Ljava/lang/String;I)V

原因是最早的jboss-logging.jar位于: “您的\u GLASSFISH\u文件夹/GLASSFISH/modules”

为什么??hibernate 5与最新版本的 jboss日志,glassfish 4使用最旧的版本,即使您 在POM文件中声明最新版本。实际上,我正在使用:

org.jboss.logging jboss logging 3.3.0.Final

然后我下载了它,并在模块路径中替换了旧的.jar 我花了两天的时间试图解决这个问题,我希望能解决 帮助解决一些未来问题=D

我使用此链接来帮助我:


在我的例子中,另一个解决方案可能是回到上一个Hibernate 4版本(4.3.11.Final),但在我看来它已经太旧了

我有一个类似的问题,我能够通过在
web-INF
目录中创建
glassfish web.xml
文件来修复它。该文件的内容如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app>
     <class-loader delegate="false"/>
</glassfish-web-app>

 

这确保了glassfish不会加载它的内部库,但项目中的库似乎不可用。在您的classpath中检查它可能是的副本