初学struts,用的是struts(用的版本是1.2.9),开发工具是tomcat6.0,myeclipse7.0
我明明已经引入了struts包,可是还是在tomcat启动的时候报下列错误:
但是web应用程序可以正常访问。我的简单的登录验证,从结果看都是没有问题的。
难道是myclipse。不会吧?前面几个例子还好好的。
可是自从有发现这个后,把前面的几个例子重新部署,也是这个错误。但是可以运行出来结果。2009-8-1 20:41:35 org.apache.catalina.core.AprLifecycleListener init
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\jdk1.6.0_14\bin;D:\tomcat6.0.18\bin
2009-8-1 20:41:35 org.apache.coyote.http11.Http11Protocol init
信息: Initializing Coyote HTTP/1.1 on http-80
2009-8-1 20:41:35 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 1129 ms
2009-8-1 20:41:36 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2009-8-1 20:41:36 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.18
2009-8-1 20:41:37 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
2009-8-1 20:41:37 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
IPFilter init
authfilter init
CharsetEncodingFilter init
encoding=GB18030
AuthFilter init()
2009-8-1 20:41:41 org.apache.struts.action.ActionServlet initChain
信息: Loading chain catalog from jar:file:/D:/tomcat6.0.18/webapps/struts_jstl/WEB-INF/lib/struts-core-1.3.10.jar!/org/apache/struts/chain/chain-config.xml
2009-8-1 20:41:43 org.apache.struts.action.ActionServlet initChain
信息: Loading chain catalog from jar:file:/D:/tomcat6.0.18/webapps/struts_taglib/WEB-INF/lib/struts-core-1.3.10.jar!/org/apache/struts/chain/chain-config.xml
2009-8-1 20:41:45 org.apache.catalina.core.ApplicationContext log
信息: Marking servlet action as unavailable
2009-8-1 20:41:45 org.apache.catalina.core.ApplicationContext log
严重: Error loading WebappClassLoader
  delegate: false
  repositories:
    /WEB-INF/classes/
----------> Parent Classloader:
org.apache.catalina.loader.StandardClassLoader@1386918
 org.apache.struts.action.ActionServlet
java.lang.ClassNotFoundException: org.apache.struts.action.ActionServlet
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1094)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:992)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4058)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4371)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
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:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2009-8-1 20:41:45 org.apache.catalina.core.StandardContext loadOnStartup
严重: Servlet /struts_login threw load() exception
java.lang.ClassNotFoundException: org.apache.struts.action.ActionServlet
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1094)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:992)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4058)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4371)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
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:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2009-8-1 20:41:46 org.apache.struts.action.ActionServlet initChain
信息: Loading chain catalog from jar:file:/D:/tomcat6.0.18/webapps/struts_training_calc/WEB-INF/lib/struts-core-1.3.10.jar!/org/apache/struts/chain/chain-config.xml
2009-8-1 20:41:48 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-80
2009-8-1 20:41:49 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2009-8-1 20:41:49 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/62  config=null
2009-8-1 20:41:49 org.apache.catalina.startup.Catalina start
信息: Server startup in 13279 ms

解决方案 »

  1.   

    D:/tomcat6.0.18/webapps/struts_jstl/WEB-INF/lib/struts-core-1.3.10.jar!/
    你说你添加的是1.2.9,那怎么jar文件时1.3的呀
      

  2.   


    哦,是这样的。我刚开始用的1.3.10的包。后老改用1.2.9的了。
    工程中已经改过来了。我也不知道为什么加载的时候还是1.3.10了。不过还有个问题:我只看了开头的那个错误,因为就是类找不到。可是其他的工程我都关了,也没有部署在tomcat上,就只有这一个,怎么其他的工程也都会在这时候加载呀?
      

  3.   

    应该就是的吧。
    我把工作区间所有的struts工程的lib文件夹下所有的jar包都删除了,tomcat下面的所有struts工程也都删了。
    然后重新添加 jar包,就没有那个问题了。
    不过myeclipse的工程文件节点有个红叉
      

  4.   

    我专门注册个账号来回帖!
    你这问题是因为你TOMCAT下的工程问题,你把TOMCAT工程下work目录下不相关的工程和webapps下不相关的工程删除就解决问题了。
    这问题产生的原因是因为你在删除工程的时候,没有删除TOMCAT下已经发布过的工程。你运行的时候他就找不到原来的SERVLET.
    还不能解决问题那是不可能的!