【问题标题】:Hibernate - Log4j - Trace ERROR休眠 - Log4j - 跟踪错误
【发布时间】:2016-09-29 16:08:47
【问题描述】:

在 J. Roberson 好心要求我创建一个新答案之后,因为我的代码已更改但没有得到修复。 First code and problem,我检查了Thread的所有答案,但他们没有帮助我,我仍然收到错误并且无法使用

SessionFactory factory = new Configuration();

问题:

    0 [main] DEBUG org.jboss.logging  - Logging Provider: org.jboss.logging.Log4jLoggerProvider
16 [main] DEBUG org.hibernate.integrator.internal.IntegratorServiceImpl  - Adding Integrator [org.hibernate.cfg.beanvalidation.BeanValidationIntegrator].
21 [main] DEBUG org.hibernate.integrator.internal.IntegratorServiceImpl  - Adding Integrator [org.hibernate.secure.spi.JaccIntegrator].
40 [main] DEBUG org.hibernate.integrator.internal.IntegratorServiceImpl  - Adding Integrator [org.hibernate.cache.internal.CollectionCacheInvalidator].
Exception in thread "main" java.lang.NoSuchFieldError: TRACE
    at org.jboss.logging.Log4jLogger.translate(Log4jLogger.java:60)
    at org.jboss.logging.Log4jLogger.doLog(Log4jLogger.java:40)
    at org.jboss.logging.Logger.trace(Logger.java:107)
    at org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.registerStrategyImplementor(StrategySelectorImpl.java:66)
    at org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialect(StrategySelectorBuilder.java:237)
    at org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.addDialects(StrategySelectorBuilder.java:188)
    at org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.buildSelector(StrategySelectorBuilder.java:154)
    at org.hibernate.boot.registry.BootstrapServiceRegistryBuilder.build(BootstrapServiceRegistryBuilder.java:222)
    at org.hibernate.cfg.Configuration.<init>(Configuration.java:118)
    at main.java.Main.main(Main.java:39)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)

【问题讨论】:

  • 看起来您在安装 log4j 时遇到了问题。可能您的类路径中有多个版本的 log4j,或者您使用的旧版本与您使用的休眠版本不兼容
  • 请分享您的 log4j.properties 文件及其位置。

标签: java hibernate session intellij-idea log4j


【解决方案1】:

您可以使用 log4j.1.2.12 或更高版本来解决此问题。 log4j 1.2.17 可以从here下载。

【讨论】:

    【解决方案2】:

    您收到java.lang.NoSuchFieldError: TRACE 异常。 TRACE 级别在 1.2.12 或更高版本的 log4j jar 中可用。

    请检查您使用的是哪个版本?此外,请检查类路径中 org.apache.log4j.Level 的冲突版本。

    从客户端的类路径中删除 log4j-boot.jar(如果存在)并包含 1.2.12 或更高版本的 log4j jar。

    【讨论】:

    • 我用的是Intellij Idea自带的预装版本-log4j-1.2.8.jar,我会尝试添加一个更新的版本(之前试过没用但这次可能)
    • 谢谢!你是最棒的。它为我修复了,明天我将在我的工作 PC 上尝试,希望它会在那里自行修复,因为我已经尝试过一次。 (问题是IDEA默认给我一个旧版本)
    • 在我的情况下,依赖项位于父级的 中,而我没有包含在子级 pom 中。
    • 以下也有帮助。 org.apache.logging.log4jlog4j-core2.8.2
    猜你喜欢
    • 2011-07-26
    • 1970-01-01
    • 2014-10-11
    • 1970-01-01
    • 2022-08-03
    • 2018-04-26
    • 1970-01-01
    • 1970-01-01
    • 2012-05-14
    相关资源
    最近更新 更多