2015-06-29 2 views
0

У меня есть ошибка, когда я использую AspectJ:Обработка обработчиков не выполнена; вложенное исключение составляет java.lang.NoClassDefFoundError: орг/AspectJ/языки/NoAspectBoundException

Контроллер:

@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"); 
} 

Класс 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"); 
    } 
} 

При Я выбираю Logout, я получил следующую ошибку:

тип

Exception report 

сообщение

Handler processing failed; nested exception is java.lang.NoClassDefFoundError: org/aspectj/lang/NoAspectBoundException 

Описание

The server encountered an internal error that prevented it from fulfilling this request. 

исключение

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) 

первопричина

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) 

первопричина

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) 
+0

См. http://stackoverflow.com/questions/13289065/org-aspectj-lang-noaspectboundexception-method-initv-not-found –

ответ

0

Библиотека времени выполнения AspectJ aspectjrt.jar (возможно, название также включает в себя номер версии, в зависимости от того, где вы получите библиотека из) должна находиться в пути к классам. Очевидно, это не так.

Смежные вопросы

 Смежные вопросы