0

使用 Spring MVC 应用程序从 @Controller 访问资源时出现此错误:

java.lang.ClassNotFoundException: org.openymsg.network.event.SessionListener
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
    com.myapp.common.controller.MyController.getMessage(MyController.java:21)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.lang.reflect.Method.invoke(Method.java:601)
    org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
    org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426)
    org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

该应用程序有两个@Controller,一个可以工作,另一个在访问时会抛出 ClassNotFoundException(上图)

该应用程序在 Tomcat 6 上运行

我在 pom 中为库“openymsg”放置了 maven 依赖项,我可以从“Libraries->Maven Dependencies”中看到实际的 jar。我想知道为什么我会收到这个错误。是因为缺少罐子吗?或者别的什么,也许这个库不能在 Tomcat 上运行或与 Spring 一起工作?

4

1 回答 1

1

不知何故无法访问该类。可能的原因是,

  1. 缺少 Jar 文件
  2. 路径设置错误
  3. 你已经做了任何Jar文件升级并且新版本有不同的类结构
于 2012-04-26T05:18:45.060 回答