ClassPathXmlApplicationContext的异常

时间:2013-08-28 13:51:15

标签: java spring servlets

我正在使用servlet + spring。 servlet在

中显示此异常
ApplicationContext context = new ClassPathXmlApplicationContext("my_config.xml");

这是ecxeption text:

  

28.08.2013 16:27:36 org.apache.catalina.core.StandardWrapperValve在上下文中为servlet [my_spring2]调用SEVERE:Servlet.service()   与路径[/ test_spring2]抛出异常[Servlet执行扔了一个   异常]与根本原因java.lang.ClassNotFoundException:   org.springframework.context.support.ClassPathXmlApplicationContext at   org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711)     在   org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)     在main_package.my_spring.doGet(my_spring.java:34)at   javax.servlet.http.HttpServlet.service(HttpServlet.java:621)at at   javax.servlet.http.HttpServlet.service(HttpServlet.java:722)at at   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)     在   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)     在   org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)     在   org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)     在   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.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)     在   org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)     在   org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol.java:565)     在   org.apache.tomcat.util.net.JIoEndpoint $ SocketProcessor.run(JIoEndpoint.java:309)     在java.util.concurrent.ThreadPoolExecutor $ Worker.runTask(未知   来自java.util.concurrent.ThreadPoolExecutor $ Worker.run(未知   来源)在java.lang.Thread.run(未知来源)   28.08.2013 16:27:59 org.apache.catalina.core.StandardContext reload INFO:已重新加载名称为[/ test_spring2]的上下文   28.08.2013 16:28:00 org.apache.catalina.core.StandardContext reload INFO:名称为[/ test_spring2]的重新加载上下文已完成

2 个答案:

答案 0 :(得分:0)

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

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

选中查看是否所有广告罐都已添加到您的类路径

同样一些罐子依赖其他罐子来进行工作。在这种情况下,你也必须添加这些罐子!

答案 1 :(得分:0)

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

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

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