[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[aspectj-users] @missing@ exception while using LTW.
|
Title: @missing@ exception while using LTW.
Hi everybody!
I'm using aspectj M4 version and trying to enable load-time weaving for my application. The application is web application.
I have created aop.xml under WEB-INF/classes/META-INF.
Here is the file:
<aspectj>
<aspects>
<aspect name="com.test.MyAspect"/>
</aspects>
<weaver options="-XlazyTjp -showWeaveInfo">
<include within="com.test.*"/>
</weaver>
</aspectj>
I'm using weaving agent through the JVMTI.
The trouble is that weaver is unable to find MyAspect, although it's present in directory WEB-INF/classes/com/test.
If I understand correct, I just have to place .aj file in the classpath of my application, and to declare it in aop.xml … So what can be wrong?
Here is the stack trace:
warning Register definition failed -- (RuntimeException) Cannot register non aspect: @missing@ , com.test.MyAspect
Cannot register non aspect: @missing@ , com.test.MyAspect
java.lang.RuntimeException: Cannot register non aspect: @missing@ , com.test.MyAspect
at org.aspectj.weaver.bcel.BcelWeaver.addLibraryAspect(BcelWeaver.java:174)
at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerAspects(ClassLoaderWeavingAdaptor.java:278)
at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerDefinitions(ClassLoaderWeavingAdaptor.java:166)
at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.initialize(ClassLoaderWeavingAdaptor.java:114)
at org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.initialize(Aj.java:129)
at org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.getWeavingAdaptor(Aj.java:134)
at org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver(Aj.java:100)
at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:65)
at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:52)
at sun.instrument.TransformerManager.transform(TransformerManager.java:122)
at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:155)
at sun.misc.Unsafe.defineClass(Native Method)
at sun.reflect.ClassDefiner.defineClass(ClassDefiner.java:45)
at sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:381)
at java.security.AccessController.doPrivileged(Native Method)
at sun.reflect.MethodAccessorGenerator.generate(MethodAccessorGenerator.java:377)
at sun.reflect.MethodAccessorGenerator.generateConstructor(MethodAccessorGenerator.java:76)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:30)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at java.lang.Class.newInstance0(Class.java:350)
at java.lang.Class.newInstance(Class.java:303)
….
Thanks a lot!
Misha.