Exception:java.lang.NoSuchFieldError: TRACE

 

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:53)

 

出现该异常的原因是:项目中导入的log4j版本和jboss的client下的log4j版本不一致(jboss的版本>项目中导入的版本)

 

解决方法:将jboss下的log4j替换项目中的log4j包就可以了,注意EJB和EJB客户端都需要替换,替换一个同样存在问题。

 

解决了该问题后在jboss中部署可能产生下面问题:

 

09:27:42,500 ERROR [STDERR] log4j:ERROR A "org.jboss.logging.appender.FileAppender" object is not assignable to a

"org.apache.log4j.Appender" variable.
09:27:42,500 ERROR [STDERR] log4j:ERROR The class "org.apache.log4j.Appender" was loaded by
09:27:42,500 ERROR [STDERR] log4j:ERROR [org.jboss.mx.loading.UnifiedClassLoader3@13849df{

url=file:/C:/osac/jboss-4.2.2.GA/server/default/deploy/sample_common.war/ ,addedOrder=46}] whereas object of type
09:27:42,500 ERROR [STDERR] log4j:ERROR "org.jboss.logging.appender.FileAppender" was loaded by

[org.jboss.system.server.NoAnnotationURLClassLoader@89cf1e].
09:27:42,515 ERROR [STDERR] log4j:ERROR Could not instantiate appender named "FILE".

 

解决方法:

将jboss/lib中的jboss-common.jar包复制到项目的lib中即可。这样就可以让项目中的日志和jboss中的日志一起工作。

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值