[英]Handler processing failed; nested exception is java.lang.NoClassDefFoundError: org/aspectj/lang/NoAspectBoundException
I have an error when I use AspectJ: 使用AspectJ时出现错误:
Controller: 控制器:
@RequestMapping("/logout")
public ModelAndView Logout(
Locale locale,
Model model,
HttpServletRequest request
) throws ParseException {
NguoiDung student = new NguoiDung();
student = (NguoiDung) request.getSession().getAttribute("customer");
String email = student.getEmail();
dangxuat(email);
request.getSession().removeAttribute("chuyentrang");
request.getSession().removeAttribute("nguoidung");
request.getSession().removeAttribute("customer");
return new ModelAndView("login");
}
Class LoggingAspectJ 类LoggingAspectJ
public aspect LoggingAspectJ {
pointcut callLogout(String email) :
call(* StudentController.dangxuat(String)) &&
args(email) &&
within(StudentController);
after(String email) : callLogout(email) {
System.out.println("Logout");
}
}
When I choose Logout, I got the following error: 当选择注销时,出现以下错误:
type 类型
Exception report
message 信息
Handler processing failed; nested exception is java.lang.NoClassDefFoundError: org/aspectj/lang/NoAspectBoundException
description 描述
The server encountered an internal error that prevented it from fulfilling this request.
exception 例外
org.springframework.web.util.NestedServletException: Handler
processing failed; nested exception is java.lang.NoClassDefFoundError:
org/aspectj/lang/NoAspectBoundException
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:839)
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:622)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause 根本原因
java.lang.NoClassDefFoundError:
org/aspectj/lang/NoAspectBoundException
com.joseph.controller.StudentController.Logout(StudentController.java:124)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
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:622)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause 根本原因
java.lang.ClassNotFoundException:
org.aspectj.lang.NoAspectBoundException
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1305)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1157)
com.joseph.controller.StudentController.Logout(StudentController.java:124)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
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:622)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
The AspectJ runtime library aspectjrt.jar (maybe the name also includes a version number, depending on where you get the library from) must be on the classpath. AspectJ运行时库Aspectjrt.jar (也许名称还包括版本号,具体取决于您从何处获取库)必须位于类路径上。 Obviously it is not. 显然不是。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.