Exception:java.lang.NoSuchFieldError: TRACE

使用hibernate validator时报错如下:
Exception in thread "main" java.lang.NoSuchFieldError: TRACE
    at org.jboss.logging.Log4jLoggerPlugin.isTraceEnabled(Log4jLoggerPlugin.java:85)
    at org.jboss.logging.Logger.isTraceEnabled(Logger.java:122)
    at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:660)
    at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:627)
    at javax.naming.InitialContext.lookup(InitialContext.java:351)
    at jp.fukuoka.pref.kiban.common.util.ServiceLocator.getEjbHome(ServiceLocator.java:124)
    at jp.fukuoka.pref.kiban.common.batch.OnlineSequencer.next(OnlineSequencer.java:48)
    at jp.fukuoka.pref.kiban.common.api.ProcessRequestMessageAccessor.setProcessRequestMessage(ProcessRequestMessageAccessor.java:74)
    at jp.fukuoka.pref.kiban.sample.common.batch.MyDelayedOnBatchRequester.request(MyDelayedOnBatchRequester.java:38)
    at jp.fukuoka.pref.kiban.sample.common.batch.MyDelayedOnBatchRequester.main(MyDelayedOnBatchRequester.java
出现该异常的原因是:项目中导入的log4j版本和jboss的client下的log4j版本不一致(jboss的版本>项目中导入的版本)
解决方法:用jboss下的log4j替换项目中的log4j包就可以了。由于使用的时maven来管理jar包,所以修改了pom.xml中log4j的版本号,重新compile就行了。

网上查资料时发现,在log4j的版本不一致时就会发生这样的错误。

你可能感兴趣的:(exception)