0

我正在使用 servlet + spring。servlet 在

ApplicationContext context = new ClassPathXmlApplicationContext("my_config.xml");

这是异常文本:

28.08.2013 16:27:36 org.apache.catalina.core.StandardWrapperValve 调用严重:Servlet.service() for servlet [my_spring2] 在路径 [/test_spring2] 的上下文中引发异常 [Servlet 执行引发异常] 根本原因java.lang.ClassNotFoundException:org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711) 的 org.springframework.context.support.ClassPathXmlApplicationContext org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java :1556) 在 main_package.my_spring.doGet(my_spring.java:34) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:722)在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)。ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org .apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve .java:98) 在 org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 在 org.apache.catalina。 org.apache.coyote.http11.AbstractHttp11Processor 上的 connector.CoyoteAdapter.service(CoyoteAdapter.java:407)。org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565) 上的进程(AbstractHttp11Processor.java:999) org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)在 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) 28.08.2013 16:27 :59 org.apache.catalina.core.StandardContext reload INFO: Reloading Context with name [/test_spring2] has started 28.08.2013 16:28:00 org.apache.catalina.core.StandardContext reload INFO: Reloading Context with name [/ test_spring2] 已完成JioEndpoint$SocketProcessor.run(JIoEndpoint.java:309) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread .run(Unknown Source) 28.08.2013 16:27:59 org.apache.catalina.core.StandardContext reload INFO: Reloading Context with name [/test_spring2] 已经开始 28.08.2013 16:28:00 org.apache.catalina。 core.StandardContext reload INFO: Reloading Context with name [/test_spring2] is completedJioEndpoint$SocketProcessor.run(JIoEndpoint.java:309) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread .run(Unknown Source) 28.08.2013 16:27:59 org.apache.catalina.core.StandardContext reload INFO: Reloading Context with name [/test_spring2] 已经开始 28.08.2013 16:28:00 org.apache.catalina。 core.StandardContext reload INFO: Reloading Context with name [/test_spring2] is completed重新加载名称为 [/test_spring2] 的上下文已开始 28.08.2013 16:28:00 org.apache.catalina.core.StandardContext reload INFO:重新加载名称为 [/test_spring2] 的上下文已完成重新加载名称为 [/test_spring2] 的上下文已开始 28.08.2013 16:28:00 org.apache.catalina.core.StandardContext reload INFO:重新加载名称为 [/test_spring2] 的上下文已完成

4

2 回答 2

0

查看第 34 行main_package.my_spring.doGet(my_spring.java:34),看看它是从本地类还是从 API 引用的?

如果项目-> 自动构建在您的 Eclipse 上启用(如果使用 Eclipse),那么您必须拥有类文件,否则您可能会在资源管理器中看到错误。

您引用的类很可能来自 API,如果不是,请尝试从项目构建路径中添加 jar。

于 2014-02-28T15:28:04.463 回答
0

我看到你得到的异常是 java.lang.ClassNotFoundException

除非您参与动态类加载和使用 Java Reflection API,否则您得到的 ClassNotFoundException 错误很可能不是来自应用程序代码,而是来自引用 API。另一个常见的问题模式是应用程序代码的错误打包。

检查所有 jar 是否都添加到您的 classpath中。

还有一些罐子依赖于其他罐子来工作。在这种情况下,您也必须添加这些罐子!

于 2013-08-28T14:06:19.967 回答