commons logging报错,请高手进来看看!

basten_chenbin 2004-12-01 10:56:01
我的ide是eclipse 3.0.1,struts 1.2.4,log4j 1.2.8,tomcat 5.0.28
我是按照
http://bbs.chinajavaworld.com/post/view?bid=48&id=351241&sty=3&age=0&tpg=1&ppg=1#351241
这篇文章做的。
我已经把commons-logging.jar和log4j-1.2.8.jar拷贝到lib中了,建立了commons-logging.properties和log4j.properties两个文件,内容如下:
commons-logging.properties:
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JCategoryLog

log4j.properties:
log4j.rootLogger=DEBUG, TMS
log4j.appender.TMS=org.apache.log4j.RollingFileAppender
log4j.appender.TMS.File=TMS.log
log4j.appender.TMS.MaxFileSize=1024KB
log4j.appender.TMS.layout=org.apache.log4j.PatternLayout
log4j.appender.TMS.layout.ConversionPattern==[%d{yyyy-mm-dd hh:mm},%6.6r]%-5p[%t]%x(%F:%L) - %m%n

本来我的程序没有任何问题,加上这两个文件后tomcat根本起不来,报错:
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.tldScanResourcePaths(TldConfig.java:569)
at org.apache.catalina.startup.TldConfig.execute(TldConfig.java:282)
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-logging.properties这个文件,则tomcat可以正常启动,否则就不行。
...全文
112 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yeyoujian 2004-12-27
  • 打赏
  • 举报
回复
你将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”就可以了,因为你用Log4J的接口类写错了。
basten_chenbin 2004-12-02
  • 打赏
  • 举报
回复
楼上的能说清楚些吗?为什么有了commons-logging.properties就会造成tomcat不能启动
basten_chenbin 2004-12-02
  • 打赏
  • 举报
回复
顶一下
haroyy 2004-12-01
  • 打赏
  • 举报
回复
log4j.properties:
log4j.rootLogger=DEBUG, stdout,TMS
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern==[%d{yyyy-mm-dd hh:mm},%6.6r]%-5p[%t]%x(%F:%L) - %m%n
log4j.appender.TMS=org.apache.log4j.RollingFileAppender
log4j.appender.TMS.File=TMS.log
log4j.appender.TMS.MaxFileSize=1024KB
log4j.appender.TMS.layout=org.apache.log4j.PatternLayout
log4j.appender.TMS.layout.ConversionPattern==[%d{yyyy-mm-dd hh:mm},%6.6r]%-5p[%t]%x(%F:%L) - %m%n
最近温习ssh2整合编程,顺便浏览下struts2有什么更新的消息,下载了新版本的struts2的2.1.8.1版,使用的是MyEclipse8.0开发,但是问题就随之而来了。MyEclipse8.0中自带的struts2版本是2.1.6,spring版本有2.0,2.5的,hibernate版本较多些至3.2,首先选版本就选择最优的,struts2没的选只有2.1.6版的,所以先导入struts2支持,然后是spring选的是2.0,问题就出在struts2中spring的插件上了,没有从MyEclipse8.0中导入2.1.6版本的包,而是选择我本地的一个2.1.8.1版本的包,问题就出来了,报dispatcher 不能初始化,找不到类;更换ok!另外的问题就是spring和hibernate整合的问题了,当时也是一股脑的将hibernate和spring的包全导入进来,然后发布,启动tomcat,查看报错的问题,这个方面到没有出现版本差异的问题,典型的就是缺包,然后报找不到类,添加进来就行了啊!这个就不再详述,具体看下面,经过详细排查,终于分析完毕相关包的作用,并整理完一套完整的包(由于大小问题没有上传,附图): struts2的包必须版本一致 不能即用2.1.6的包 又用到了2.1.8的包 ,其他版本类似。 另外三大框架的添加顺序也需要注意下,我的添加顺序是 struts2.1.6、spring2.0、hibernate3.2 spring版本差异(包方面)没有研究过,大致雷同,也应该保持版本一致,即在同一个稳定发行包中下载的包。 以下包后面跟的数字意思:(带*号为可选包,根据需要额外增加) 0 一些基本的包需要添加 删除需慎重; 1 spring的相关包,先添加struts2.0的支持时标记的包; 2 struts2的相关包;以struts2-core-2.1.6版本为准; 注:struts2-core-2.1.8有较大变化需要注意替换相关包,注意尾号尽量不要是单号 例子:xwork-2.1.2.jar在2.1.8中xwork-core-2.1.6.jar 具体啥问题没测过 3 hibernate3相关包 antlr-2.7.2.jar //2 aopalliance-1.0.jar //2 asm-attrs.jar //3 asm.jar // 3 cglib-2.1.3.jar //3 commons-beanutils-1.7.0.jar //2 commons-chain-1.2.jar //2 commons-codec-1.3.jar //0 commons-collections-3.1.jar //2 commons-digester-1.8.jar //2 commons-el-1.0.jar //2 * commons-fileupload-1.1.1.jar //2 commons-io-1.1.jar //2 commons-lang-2.1.jar //2 commons-logging-1.0.4.jar //2 commons-logging-api-1.1.jar //2 * commons-validator-1.3.1.jar //2 derbyclient.jar //3 dom4j-1.6.1.jar //3 ehcache-1.2.3.jar //3* ejb3-persistence.jar //3 freemarker-2.3.13.jar //2 hibernate3.jar //3 hibernate-annotations.jar //3 hibernate-commons-annotations.jar //3 hibernate-entitymanager.jar //3 hibernate-validator.jar //3 jaas.jar //3 javassist.jar //3 jaxen-1.1-beta-7.jar //3 jboss-archive-browsing.jar //3 * jdbc2_0-stdext.jar //3 jta.jar //3 jstl-1.1.0.jar //0 json-lib-2.1.jar //2* junit-3.8.2.jar //0 * log4j-1.2.9.jar //0 ognl-2.6.11.jar //2 oro-2.0.8.jar //2 sitemesh-2.4.2.jar //2* spring-beansjar //1 spring-context.jar //1 spring-core.jar //1 spring-dao.jar //3 spring-hibernate3.jar //3 spring-jdbc.jar //3 spring-web-2.5.6.jar //1 struts2-core-2.1.6.jar //2 struts2-convention-plugin-2.1.6.jar //2* struts2-spring-plugin-2.1.6.jar //1 xwork-2.1.2.jar //2 xerces-2.6.2.jar //3 xml-apis.jar //3 注:以下包为数据源连接池 相关 用到那个添加相应的包 c3p0-0.9.1.2.jar //3 commons-pool.jar //3 commons-dbcp.jar //3

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧