Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] NoAspectBoundException

Hi Lily, I had a similar problem working with Tomcat. Reading the dump you 
provided you can read : 
 
root cause 
>  
> java.lang.NoClassDefFoundError: org/aspectj/lang/NoAspectBoundException 
 
It seems that some classes are not present in the classpath and the 
classloader can't find them. 
I Resolved it including aspectjrt.jar included in aspectjx.x/lib directory in 
your Tomcat's classpath. 
For doing this simply include in the executable file catalina.sh a line like 
this: 
CLASSPATH=$CLASSPATH:./aspectj_direcory/lib/aspectjrt.jar (Linux like env, 
vars on Windows is a little bit different) 
 
I hope this solves the problem. 
 
Dave Garcia 
 
  
> Hi: 
> I am working on a web application using the MVC model. JSPs provide the  
> presentation logic, Java Servlets provide control to the flow of data, Java  
> Beans provide the business logic. I use Tomcat 4.1 as the web server. 
> I write an aspect(AccessControl.java) for a java bean(project.java). 
> The code of AccessControl.java is like this: 
>  
> 
-------------------------------------------------------------------------------- 
> package tables; 
>  
> import java.io.*; 
> import java.util.*; 
>  
> aspect AccessControl perthis(checkpoint(Vector)) 
> { 
> pointcut checkpoint(Vector v): execution(public String  
> project.insert(Vector)throws ClassNotFoundException) && args(v); 
>  
>  
> String around(Vector v): checkpoint(v) 
>        { 
>           return "NotAllowed"; 
>        } 
> } 
> 
--------------------------------------------------------------------------------- 
> It compiles well together with project.jav by ajc. And by using  
> aspectJBrowser, I can see that the insert method is indeed affected by the  
> around advice, and the around advice also affects the insert method. 
>  
> But when I go back to my application to have a test, I get: 
>  
> 
********************************************************************************* 
> HTTP Status 500- 
>  
> type Exception report 
>  
> message 
>  
> description The server encountered an internal error () that prevented it  
> from fulfilling this request. 
>  
> exception 
>  
> javax.servlet.ServletException: org/aspectj/lang/NoAspectBoundException 
> 	at  
> 
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:471) 
> 	at org.apache.jsp.insert$jsp._jspService(insert$jsp.java:99) 
> 	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107) 
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) 
> 	at  
> 
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:229) 
> 	at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:436) 
> 	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:528) 
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) 
> 	at  
> 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) 
> 	at  
> 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) 
> 	at  
> 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260) 
> 	at  
> 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:633) 
> 	at  
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:470) 
> 	at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) 
> 	at  
> 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
> 	at  
> 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:633) 
> 	at  
> 
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246) 
> 	at  
> 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:631) 
> 	at  
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:470) 
> 	at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) 
> 	at  
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2349) 
> 	at  
> 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) 
> 	at  
> 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:633) 
> 	at  
> 
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170) 
> 	at  
> 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:631) 
> 	at  
> 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:171) 
> 	at  
> 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:631) 
> 	at  
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:470) 
> 	at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) 
> 	at  
> 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) 
> 	at  
> 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:633) 
> 	at  
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:470) 
> 	at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) 
> 	at 
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) 
> 	at  
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:405) 
> 	at  
> 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:358) 
> 	at  
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:495) 
> 	at  
> 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:518) 
> 	at java.lang.Thread.run(Thread.java:536) 
>  
>  
> root cause 
>  
> java.lang.NoClassDefFoundError: org/aspectj/lang/NoAspectBoundException 
> 	at tables.project.insert(project.java) 
> 	at tables.tableBean.insert(tableBean.java:293) 
> 	at org.apache.jsp.insert$jsp._jspService(insert$jsp.java:62) 
> 	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107) 
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) 
> 	at  
> 
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:229) 
> 	at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:436) 
> 	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:528) 
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) 
> 	at  
> 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) 
> 	at  
> 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) 
> 	at  
> 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260) 
> 	at  
> 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:633) 
> 	at  
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:470) 
> 	at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) 
> 	at  
> 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
> 	at  
> 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:633) 
> 	at  
> 
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246) 
> 	at  
> 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:631) 
> 	at  
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:470) 
> 	at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) 
> 	at  
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2349) 
> 	at  
> 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) 
> 	at  
> 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:633) 
> 	at  
> 
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170) 
> 	at  
> 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:631) 
> 	at  
> 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:171) 
> 	at  
> 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:631) 
> 	at  
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:470) 
> 	at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) 
> 	at  
> 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) 
> 	at  
> 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:633) 
> 	at  
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:470) 
> 	at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) 
> 	at 
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) 
> 	at  
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:405) 
> 	at  
> 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:358) 
> 	at  
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:495) 
> 	at  
> 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:518) 
> 	at java.lang.Thread.run(Thread.java:536) 
>  
>  
> Apache Tomcat/4.1.0 
>  
> 
******************************************************************************** 
> Sorry for the long paste. 
>  
> What is the problem? 
>  
> Thanks in advance 
>  
> Lily 
>  
>  
>  
>  
> _________________________________________________________________ 
> MSN 8 helps eliminate e-mail viruses. Get 2 months FREE*.   
> http://join.msn.com/?page=features/virus 
>  
> _______________________________________________ 
> aspectj-users mailing list 
> aspectj-users@xxxxxxxxxxx 
> http://dev.eclipse.org/mailman/listinfo/aspectj-users 
>  
 
 


Back to the top