Java.lang.NoSuchFieldError:使用Hibernate 4.1.8时的跟踪最终版本

zour9fqk  于 2022-11-14  发布在  Java
关注(0)|答案(1)|浏览(159)

当我在Windows7上运行我的Spring+Hibernate应用程序时,我得到了以下错误。

Caused by: java.lang.NoSuchFieldError: TRACE
        at org.jboss.logging.Log4jLogger.translate(Log4jLogger.java:64)
        at org.jboss.logging.Log4jLogger.isEnabled(Log4jLogger.java:39)
        at org.jboss.logging.Logger.logv(Logger.java:1953)
        at org.hibernate.internal.CoreMessageLogger_$logger.tracev(CoreMessageLogger_$logger.java:443)
        at org.hibernate.cfg.EJB3DTDEntityResolver.resolveEntity(EJB3DTDEntityResolver.java:58)
        at com.sun.org.apache.xerces.internal.util.EntityResolverWrapper.resolveEntity(EntityResolverWrapper.java:110)

我使用的是基于MVN的4.1.8最终版本。我读到一些log4j应该是GT 1.2.12的地方,所以我使用的是1.2.17,但问题仍然存在。
我的主要问题是,相同的代码在Windows XP上运行得很好。有谁能帮我..。

kq0g1dla

kq0g1dla1#

您的log4j版本有问题

private static org.apache.log4j.Level translate(final Level level) {
    if (level != null) switch (level) {
        case FATAL: return org.apache.log4j.Level.FATAL;
        case ERROR: return org.apache.log4j.Level.ERROR;
        case WARN:  return org.apache.log4j.Level.WARN;
        case INFO:  return org.apache.log4j.Level.INFO;
        case DEBUG: return org.apache.log4j.Level.DEBUG;
        case TRACE: return org.apache.log4j.Level.TRACE;
    }
    return org.apache.log4j.Level.ALL;
}

相关问题