gpt4 book ai didi

java.lang.NoSuchMethodError : org. jboss.logging.Logger.getMessageLogger(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object - Tomcat 8

转载 作者:行者123 更新时间:2023-11-28 21:57:38 30 4
gpt4 key购买 nike

我遇到了这个异常:

java.lang.NoSuchMethodError: org.jboss.logging.Logger.getMessageLogger(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
at org.hibernate.ejb.Ejb3Configuration.<clinit>(Ejb3Configuration.java:142)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:55)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:63)

为什么?有两个包含类 Logger 的 jar。这些 jar 是:

-jboss-logging-spi 和 jboss-logging

Jboss-logging-spi.jar 是 jbosscache-core.jar 的传递依赖,不幸的是它首先被 Tomcat 8 加载。

解决此问题的最佳方法是什么?是否可以控制 Tomcat 加载 .jars 的顺序?

附加信息:

-我无法在新服务器 (Ubuntu) 上运行的当前 .war 文件在旧服务器 (OpenSuse) 上运行。

最佳答案

What is the best way to fix this?

消除重复的类。 期间。没有别的推荐了。通过类加载顺序屏蔽问题会在以后弹出类似的问题,使下次维护更加困难。

一个应用程序应该永远包含同一类的两个相互冲突的实现(甚至两个相同的实现)。如果其中一个类在 (appserver-) 全局类路径上:从那里删除它。

关于java.lang.NoSuchMethodError : org. jboss.logging.Logger.getMessageLogger(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object - Tomcat 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49821349/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com