[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[aspectj-users] Unable to access new ITD in a successfully woven rt.jar
|
Hi all,
I'm adding ITD to rt.jar and so far I've weaved rt.jar successfully.
But, for some reason I'm not able to access the new ITD from my woven-rt.jar.
I've done my homework (6-hour googling to find some hints), but no luck.
So, I'd deeply appreciate if I can get any help here.
Here's my simple aspect, where I just want to add "String test" to the
claas java.io.File:
package mytest;
public interface ClassWC { };
public aspect weavert {
declare parents: File implements ClassWC;
public String ClassWC.test;
}
I compiled that, and ran javap on my woven-rt.jar:
javap java.io.File -bootclasspath woven-rt.jar
I get this:
public class java.io.File
extends java.lang.Object
implements java.io.Serializable,
java.lang.Comparable,
mytest.ClassWC {
...
public java.lang.String ajc$interField$mytest_weavert$mytest_ClassWC$test;
...
}
So up to this point, everything seems okay.
Now, here's my simple test program (Main.java) where I just want to
see if File.test is accessible or not.
main() {
File f = new File("file.txt");
String test = f.test;
}
I compiled that:
javac -Xbootclasspath:woven-rt.jar Main.java
I get this following error:
Main.java:21: cannot find symbol
symbol : variable test
location: class java.io.File
String test = f.test;
I totally have no clue why I cannot access File.test.
I try to make the original rt.jar unreadable (chmod 000)
to verify that javac is not reading the original rt.jar.
It turns out I get this error:
java/lang/ClassNotFoundException: error in opening JAR file <Permission denied>
I believe I use bootclasspath properly.
Please help me point where I did wrong.
Thanks again for your time!
Harry