Bug 122297 - ltw 1.4 and code style leads to aspect not found
Summary: ltw 1.4 and code style leads to aspect not found
Status: RESOLVED WONTFIX
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: DEVELOPMENT   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Alexandre Vasseur CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-12-29 03:32 EST by Alexandre Vasseur CLA
Modified: 2006-07-10 17:22 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexandre Vasseur CLA 2005-12-29 03:32:18 EST
as reported on the user list, based on my blog article
Comment 1 Mohan Radhakrishnan CLA 2006-01-02 04:44:56 EST
I am not sure if this is a bug or not. I might be making a mistake here. I am able to see LTW messages if I use the created awaj-boot.jar with WebLogic.

I have removed some debugging information from the 'test' target in your build file that is throwing this exception. I haven't changed anything else.

Now my 'test' target is

    <!-- run with LTW -->
    <!-- here we used the "prepared bootclasspath approach -->
    <!-- refer to http://aspectwerkz.codehaus.org/weaving.html#Overview_of_options_for_online_weaving -->
    <target name="test" depends="compile.test, compile, prepare">
        <java classname="test.ltw13.Sample" fork="true" failonerror="true">
            <classpath>
                <pathelement path="bin"/>
                <path refid="bpaj.path"/>
                <path refid="aj.path"/><!-- needs aspectjweaver.jar -->
            </classpath>
            <jvmarg line="-Daj5.def=test/aop.xml
                          -Xbootclasspath/p:_boot/awaj-boot.jar
                          -Xbootclasspath/a:C:/java/aop/aspectwerkz-2.0/lib/aspectwerkz-core-2.0.jar
                          -Daspectwerkz.classloader.preprocessor=org.aspectj.ext.ltw13.ClassPreProcessorAdapter
            "/>
        </java>

    </target>



The error I see is
test:
     [java] AspectWerkz - INFO - Pre-processor org.aspectj.ext.ltw13.ClassPrePro
cessorAdapter loaded and initialized
     [java] warning Register definition failed -- (RuntimeException) Cannot regi
ster non aspect: test.ltw13.Sample$TestAspect , test.ltw13.Sample.TestAspect
     [java] Cannot register non aspect: test.ltw13.Sample$TestAspect , test.ltw1
3.Sample.TestAspect
     [java] java.lang.RuntimeException: Cannot register non aspect: test.ltw13.S
ample$TestAspect , test.ltw13.Sample.TestAspect
     [java]     at org.aspectj.weaver.bcel.BcelWeaver.addLibraryAspect(BcelWeave
r.java:176)
     [java]     at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registe
rAspects(ClassLoaderWeavingAdaptor.java:313)
     [java]     at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registe
rDefinitions(ClassLoaderWeavingAdaptor.java:172)
     [java]     at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.initial
ize(ClassLoaderWeavingAdaptor.java:119)
     [java]     at org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoad
erWeavingAdaptor.initialize(Aj.java:129)
     [java]     at org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoad
erWeavingAdaptor.getWeavingAdaptor(Aj.java:134)
     [java]     at org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver(Aj.j
ava:100)
     [java]     at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:65)
     [java]     at org.aspectj.ext.ltw13.ClassPreProcessorAdapter.preProcess(Cla
ssPreProcessorAdapter.java:55)
     [java]     at org.codehaus.aspectwerkz.hook.impl.ClassPreProcessorHelper.de
fineClass0Pre(ClassPreProcessorHelper.java:107)
     [java]     at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
     [java] Sample.target
     [java]     at java.security.SecureClassLoader.defineClass(SecureClassLoader
.java:124)
     [java]     at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
     [java]     at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
     [java]     at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
     [java]     at java.security.AccessController.doPrivileged(Native Method)
     [java]     at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
     [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
     [java]     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)

     [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
     [java]     at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
Comment 2 Andrew Clement CLA 2006-06-27 10:42:23 EDT
might just need a quick investigation...
Comment 3 Matthew Webster CLA 2006-06-29 08:45:58 EDT
It might have been helpful if this http://dev.eclipse.org/mhonarc/lists/aspectj-users/msg05189.html link had been added to start with. I believe we state that @AspectJ aspects are only supported under Java 1.5 whether or not "backport175" is used. We currently have no way of testing this potential capability (we need both Java 1.4 and the the the JSR 175 stuff). The user has not posted a testcase as requested 6 months ago.
Comment 4 Andrew Clement CLA 2006-07-10 17:22:33 EDT
stale - the world has changed since this was opened.