Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Annotation pattern matching - IncompatibleClassChangeError

An IncompatibleClassChangeError means that the version of the class
that a client was compiled with is incompatible with the version of
that class found on the runtime classpath when the program executes.
So this *could* be a classpath style issue in your setup if say you
compile the client with one path and then are running the tests with a
different one.

It could also be a bug in the compiler (if a full build fixed the
problem, then the suspect would almost certainly have been the
incremental compiler not rebuilding quite enough files when the source
was change, but since a full build does not fix the problem in this
case...)

If your paths check out, then please raise a bug report - ideally
reducing this to the minimal program that reproduces the failure.
Please add as attachments the target class on which the ITD is made,
the aspect declaring the inter-type member, and the client class that
calls the method and triggers the ICCE.

Thanks, Adrian.

On 29/08/05, mohan.radhakrishnan@xxxxxxxxxxxxx
<mohan.radhakrishnan@xxxxxxxxxxxxx> wrote:
>  
> Hi, 
>   
>        This line of the code    
>   
>       b.addPropertyChangeListener( "name", this ); ->inter-type declaration 
>   
> throws a trace like the following. I am using AspectJ M3. 
>   
> If "addPropertyChangeListener" is an inter-type declaration then whether it
> is incremental or full build there is a compiler error when I am using
> AspectJ M3. In the previous version a full build solved this problem. 
>   
> I am also using annotation pattern matching. I have similar code that uses
> the old style aspects working in the same project . 
> 
>  
>   
> java.lang.IncompatibleClassChangeError
>  at
> com.blueprint.util.aspectj5.test.PropertySupportAspect5.ajc$interMethodDispatch1$com_blueprint_util_aspectj5_test_PropertySupportAspect5$com_blueprint_util_aspectj5_test_PropertySupportAspect5$PropertySupport$addPropertyChangeListener(PropertySupportAspect5.aj)
>  at
> com.blueprint.util.aspectj5.test.BeanTestCase.testPropertyChange(BeanTestCase.java:25)
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
>  at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown
> Source)
>  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
> Source)
>  at java.lang.reflect.Method.invoke(Unknown Source)
>  at junit.framework.TestCase.runTest(TestCase.java:154)
>  at junit.framework.TestCase.runBare(TestCase.java:127)
>  at
> junit.framework.TestResult$1.protect(TestResult.java:106)
>  at
> junit.framework.TestResult.runProtected(TestResult.java:124)
>  at junit.framework.TestResult.run(TestResult.java:109)
>  at junit.framework.TestCase.run(TestCase.java:118)
>  at junit.framework.TestSuite.runTest(TestSuite.java:208)
>  at junit.framework.TestSuite.run(TestSuite.java:203)
>  at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
>  at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
>  at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
>   
>  I am trying to find out if this is the problem with my code or a tool bug. 
>   
> Thanks, 
> Mohan
> 
> 
> 
> 
> This message is for the designated recipient only and may contain
> privileged, proprietary, or otherwise private information. If you have
> received it in error, please notify the sender immediately and delete the
> original. Any other use of the email by you is prohibited. 
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
> 
> 
> 


-- 
-- Adrian
adrian.colyer@xxxxxxxxx


Back to the top