From: wisberg Date: Sun, 18 Dec 2005 23:18:07 +0000 (+0000) Subject: updated ancient LTW answer X-Git-Tag: POST_MEMORY_CHANGES~235 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=8111599318360cb8c44ce2bf05a601089105121e;p=aspectj.git updated ancient LTW answer --- diff --git a/docs/faq/faq.xml b/docs/faq/faq.xml index 5879dc182..ff6acf3ad 100644 --- a/docs/faq/faq.xml +++ b/docs/faq/faq.xml @@ -4106,14 +4106,21 @@ java -javaagent:aspectjweaver.jar -classpath "aspects.jar:${CLASSPATH}" .. - AspectJ 1.1 can weave binary aspects + Since the 1.1 release, AspectJ can weave binary aspects into classes in bytecode form. Hooked up to a class loader, this can weave class bytecodes after they are read in, before the - class is defined by the VM. In the 1.1 release (or soon - thereafter) we will provide a proof-of-concept class loader, - but we expect most people will already have a custom - class loader which they will adapt to invoke our weaver. + class is defined by the VM. (This means load-time weaving + only works were aspects are not required to compile the pure-java + classes. If the aspects are required, then the Java classes + have to be compiled with the aspects using the AspectJ compiler.) + The AspectJ 1.2 release had the + WeavingURLClassLoader, and the 1.2.1 release introduced + the aj.bat script for Java 1.4. + The AspectJ 5 release introduces much better support for + load-time weaving, including declaring concrete aspects + in XML files and integrating with Java 5 and BEA JRocket + JVM's. See . Some have asked about only weaving particular classes specified at run-time.