java.lang.NoSuchFieldError:使用hibernate 4.1.8.Final版本时的TRACE

时间:2012-12-12 15:13:52

标签: hibernate

您好我在Windows 7上运行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.Final版本。我读了一些log4j应该是GT 1.2.12的地方,所以我使用的是1.2.17,但问题仍然存在。

我的主要问题是在Windows XP上运行正常的相同代码。 任何人都可以帮助我......

1 个答案:

答案 0 :(得分:0)

您遇到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;
}