[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [aspectj-users] Re: Extending standard java classes
|
Seems like you are running with the original rt.jar. Make sure you
add your woven jar to your bootclasspath (see java -X for more
information on this).
On Wed, Dec 3, 2008 at 12:09 AM, Tassilo Horn <tassilo@xxxxxxxxxxxxxx> wrote:
> "Andy Clement" <andrew.clement@xxxxxxxxx> writes:
>
> Hi Andy,
>
>>> I've thought that. But with the command line ajc it works in a
>>> reasonable time and resources. (I can't tell if it acually works,
>>> though, but at least it compiles. ;-))
>>
>> -showWeaveInfo is the command line option that will tell you if it is
>> weaving.
>
> Ok, it seems to have worked and I got a weaver-rt.jar including the
> standard java classes + my AValue interface. I deleted the Java system
> lib from my test project inside Eclipse and replaced it with the weaved
> jar.
>
> When I check the type hierarchy of Integer, it tells me that it
> implements AValue, just like I wanted.
>
> When I say
>
> AValue a = new Integer(2);
> System.out.println("instance of AValue? " + (a instanceof AValue));
> System.out.println("Integer? " + a.isInteger() + ", Double? "
> + a.isDouble() + ", String? " + a.isString());
>
> no errors are shown, but when I run the program the instanceof test says
> false and invoking the isFoo() methods, which are declared in the
> interface AValue and have implementations in my aspect throw an
> exception:
>
> Exception in thread "main" java.lang.IncompatibleClassChangeError:
> Class java.lang.Integer does not implement the requested interface AValue
> at Test.main(Test.java:10)
>
> I think I'm missing something obvious here, but what?
>
> Bye,
> Tassilo
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>