java.lang.ClassCircularityError:来自 Tomcat8 的 java/util/logging/LogRecord

Posted

技术标签:

【中文标题】java.lang.ClassCircularityError:来自 Tomcat8 的 java/util/logging/LogRecord【英文标题】:java.lang.ClassCircularityError: java/util/logging/LogRecord from Tomcat8 【发布时间】:2016-09-17 13:49:14 【问题描述】:

我已经为我的 Spring Boot 应用程序配置了 logback.xml。我的spring boot版本——1.3.3.RELEASE,java版本——1.8更新45,tomcat版本——8。

我已将 logback.xml 文件放在本地 tomcats /lib 文件夹中。

每当我在没有调试配置的情况下运行我的 tomcat 时,它都可以正常工作。

但每当我尝试在 catalina.bat 文件中配置调试运行服务器时(使用此选项 - 设置“JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket......”)它会显示 java.lang.ClassCircularityError: java/util/logging/LogRecord 和 tomcat 窗口关闭。

详细的错误跟踪:

java.lang.ClassCircularityError: java/util/logging/LogRecord
at org.slf4j.bridge.SLF4JBridgeHandler.getSLF4JLogger(SLF4JBridgeHandler.java:200)
at org.slf4j.bridge.SLF4JBridgeHandler.publish(SLF4JBridgeHandler.java:289)
at java.util.logging.Logger.log(Logger.java:458)
at java.util.logging.Logger.doLog(Logger.java:480)
at java.util.logging.Logger.logp(Logger.java:596)

我已经尝试了线程中给出的所有解决方案 - ClassCircularityError when running Tomcat 6 from Eclipse

但没有任何效果。

最近有人遇到过这个问题吗?这个问题有什么解决方案或变通方法吗?

谢谢。

【问题讨论】:

你还有这个问题吗? 【参考方案1】:

解决方案 有两种解决方法:

    在您的项目中,将<contextListener ...> 配置文件中的<contextListener ...> 行移动到文件末尾。

    对于从Eclipse 运行Tomcat 的用户,存在另一种解决方法,而不是上面的step 1。别。相反,从terminal 运行Tomcat

    ./catalina.sh 开始

【讨论】:

以上是关于java.lang.ClassCircularityError:来自 Tomcat8 的 java/util/logging/LogRecord的主要内容,如果未能解决你的问题,请参考以下文章