Skip to main content

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

Thanks Dave, your advice is very helpful.

I solved the problem by putting the aspecjrt.jar file into Tomcat_directory\shared\lib. Now my aspect works fine.

Lily






From: garcia@xxxxxxxxx
Reply-To: aspectj-users@xxxxxxxxxxx
To: aspectj-users@xxxxxxxxxxx
Subject: Re: [aspectj-users] NoAspectBoundException
Date: Sat, 15 Mar 2003 15:46:02 +0100

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
>


_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/aspectj-users


_________________________________________________________________
Add photos to your messages with MSN 8. Get 2 months FREE*. http://join.msn.com/?page=features/featuredemail



Back to the top