您的位置:首页 > 编程语言 > Java开发

Exception:java.lang.NoSuchFieldError: TRACE

2009-05-05 10:11 555 查看
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中的日志一起工作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: