转:Caused by: java.lang.NoSuchMethodError: org.apache.log4j.Category.log
2013-10-24 13:07
459 查看
Caused by: java.lang.NoSuchMethodError: org.apache.log4j.Category.log
出现的异常:
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425)
Caused by: java.lang.NoSuchMethodError: org.apache.log4j.Category.log(Ljava/lang/String;Lorg/apache/log4j/Level;Ljava/lang/Object;Ljava/lang/Throwable;)V
at org.apache.commons.logging.impl.Log4JCategoryLog.debug(Log4JCategoryLog.java:94)
at org.apache.catalina.startup.TldConfig.execute(TldConfig.java:314)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4282)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)
at org.apache.catalina.core.StandardService.start(StandardService.java:480)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
... 6 more
原因:commons-logger.jar和你的log4j.jar版本不兼容。前者是对后者的一个封装,而hibernate中主要是使用前者。前者的功能就是:它封装了一些通常的日志类,比如log4j,java.util.logging.Logger 等,使用的log4j,但是由于版本不对,commons-logger中用了log4j中的那个类,在当前的log4j版本中已经不存在了,所以报错
解决方法:
将class目录下commons-logging.properties
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JCategoryLog
更改为
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
出现的异常:
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425)
Caused by: java.lang.NoSuchMethodError: org.apache.log4j.Category.log(Ljava/lang/String;Lorg/apache/log4j/Level;Ljava/lang/Object;Ljava/lang/Throwable;)V
at org.apache.commons.logging.impl.Log4JCategoryLog.debug(Log4JCategoryLog.java:94)
at org.apache.catalina.startup.TldConfig.execute(TldConfig.java:314)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4282)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)
at org.apache.catalina.core.StandardService.start(StandardService.java:480)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
... 6 more
原因:commons-logger.jar和你的log4j.jar版本不兼容。前者是对后者的一个封装,而hibernate中主要是使用前者。前者的功能就是:它封装了一些通常的日志类,比如log4j,java.util.logging.Logger 等,使用的log4j,但是由于版本不对,commons-logger中用了log4j中的那个类,在当前的log4j版本中已经不存在了,所以报错
解决方法:
将class目录下commons-logging.properties
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JCategoryLog
更改为
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
相关文章推荐
- 编译安装apache2.4
- JAVA调用C#发布的webservice简单例子,java.lang.NoSuchMethodError: org.apache.ws.commons.schema.XmlSchemaComplexType.getAttributes()解决
- Apache Commons Lang介绍
- 配置安装php 5.3.5和apache 2.2
- apache  虚拟主机设置
- apache 代理服务器和虚拟主机设置
- APACHE日志文件配置
- The tag handler class for "c:set"(org.apache.taglibs.standard.tag.rt.core.UrlTag)was not found on the Java Build Path
- 小内存VPS apache并发控制参数prefork调优
- 利用apache common-net 操作telnet远程执行命令
- Apache的基础东西
- linux下apache服务的搭建
- Apache的Mod_rewrite学习(RewriteRule重写规则的语法)
- 设置apache登陆密码验证
- Apache-网页密码设置
- org.apache.cxf.interceptor.Fault:Could not send Message
- Ecshop url重写 apache环境配置伪静态
- git+gitolite+cgit+apache on Ubuntu
- 五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT)
- Apache中RewriteCond规则参数介绍(转)