Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[aspectj-users] FW: NoSuchMethodError: aspectOf()

Any ideas why I am get the NoSuchMethodError below?

 

The method specified by the pointcut is in com.foo.action.LoginAction.execute.

The aspect is defined in com.foo.logging.Login.   (see below)

My code which is being advised does not call the aspect’s aspectOf() method.

 

I use build-time bytecode weaving using the ant <iajc> task.

 

The app is a Struts-based web app.

 

 

Dev environment:

Java 1.5

Ant 1.7.1

AspectJ 1.6.6

 

Thanks,

Roger

 

 

javax.servlet.ServletException: Servlet execution threw an exception

        com.hyperformix.athens.filter.AthensLoginFilter.doFilter(Unknown Source)

root cause

java.lang.NoSuchMethodError: com.foo.logging.Login.aspectOf()Lcom/foo/logging/Login;

        com.foo.action.LoginAction.execute(Unknown Source)

        org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)

        org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)

        org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)

        org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)

        javax.servlet.http.HttpServlet.service(HttpServlet.java:710)

        javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

        com.foo.athens.filter.AthensLoginFilter.doFilter(Unknown Source)

 

 

 

 

@Aspect

public class Login {

 

                static Logger log = Logger.getLogger(Login.class.getName());

                String userName;

                String roleName;

 

                @Pointcut("call (* com.foo.LoginDAO.login(com.foo. Data) ) && args(data)")

                public void login(Data data) {}

               

                @Before("login(data)")

                public void loginBefore(Data data)

                {             

                                userName = data.getUserName();

                                roleName = data.getRoleName();

                                BasicConfigurator.configure();

                                log.info("User " + userName + " with role " + roleName + " about to login");

                }

               

}

Roger Huang

 


Back to the top