java.lang.NoSuchFieldError:使用hibernate 4.1.8.Final版本时进行跟踪

java.lang.NoSuchFieldError:使用hibernate 4.1.8.Final版本时进行跟踪,hibernate,Hibernate,在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.jbos

在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.1最终版本。我读了一些关于log4j应该是GT 1.2.12的文章,所以我使用了1.2.17,但是问题仍然存在

我的主要问题是相同的代码在WindowsXP上运行良好。
有人能帮我吗…

您的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;
}

log4依赖项不正确或丢失。添加log4j依赖项为我解决了这个问题。