5

在 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 上运行良好。谁能帮我...

4

1 回答 1

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;
}
于 2013-08-23T03:13:29.650 回答