[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[aspectj-users] Load-time weaving of a web-application in Tomcat
|
I have not been
successful in load-time weaving a web-application deployed in Tomcat 5.5 using
JAR file with aspects either in /common/lib or /shared/lib directory. I'd like
to separate aspects from my web-application. Here's what I
have:
myaspect.jar
com\my\package\MyAspect.class
META_INF\aop.xml
MyAspect.aj
package
com.aspects.package;
import
com.weaved.application.package.MyWeavedClass;
public aspect
MyAspect {
pointcut
initialize(com.weaved.application.package.MyWeavedClass weavedInstance) :
target(weavedInstance) &&
execution(*
*initialize());
before(com.weaved.application.package.MyWeavedClass
weavedInstance) :
initialize(weavedInstance)
{
weavedInstance.initialize();
}
}
MyWeavedClass.java
in web application
package
com.weaved.application.package.;
public class
MyWeavednClass
{
public void initialize() {}
}
<aspectj>
<aspects>
<aspect
name="com.aspects.package.MyAspect"/>
<weaver
options="-verbose -debug -showWeaveInfo
-Xlint:default">
<include
within="com.aspects.package.*"/>
</weaver>
</aspects>
</aspectj>
Everything seems to
work until actual execution:
[WebappClassLoader@1554233] info register classloader org.apache.catalina.loader.WebappClassLoader@1554233
[WebappClassLoader@1554233]
info using configuration file:/C:/tomcat55/shared/lib/myaspect.jar!/META-INF/aop.xml
[WebappClassLoader@1554233]
info register aspect com.aspects.package.MyAspect
....
[WebappClassLoader@1554233] debug weaving
'com.weaved.application.package.MyWeavedClass'
[WebappClassLoader@1554233]
weaveinfo Join point 'method-execution(void
com.weaved.application.package.MyWeavedClass.initialize())' in Type
'com.weaved.application.package.MyWeavedClass'(MyWeavedClass.java:153) advised
by before advice from 'com.aspects.package.MyAspect' (MyAspect
.aj:11)
....
java.lang.NoClassDefFoundError:
com/weaved/application/MyWeavedClass
at
com.aspects.package.MyAspect.ajc$before$com_aspect_package_MyAspect$1$5d8f1ad6(MyAspect.aj:14)
at
com.weaved.application.package.MyWeavedClass.initialize(MyWeavedClass.java:153)
Within eclipse
I created Aspect project and used
Export... to export JAR file with AspectJ support. What am I doing
wrong?
Any help
greatly appreciated.
Andre Piwoni
------------------------------------------------------------------------------
This email is confidential and may be legally privileged.
It is intended solely for the addressee. Access to this email by anyone else, unless expressly approved by the sender or an authorized addressee, is unauthorized.
If you are not the intended recipient, any disclosure, copying, distribution or any action omitted or taken in reliance on it, is prohibited and may be unlawful. If you believe that you have received this email in error, please contact the sender, delete this e-mail and destroy all copies.
==============================================================================