Как настроить сплетение во время загрузки с помощью AspectJ и Tomcat?

Я пытался настроить load-time weaving (для выполнения профилирования с помощью Perf4J) следующим образом:

1) Я добавил aop.xmlв папку META-INF. При развертывании META-INF помещается в корневой каталог артефакта (например, MyAppDeployed/META-INF).

2) Ставлю аспектжрт-1.6.1.jar, аспектжвивер-1.6.1.jar, commons-jexl-1.1.jar, commons-logging.jarв папку Tomcat/lib(сначала я пробовал MyAppDeployed/WEB-INF/libs, но это тоже не сработало).

3) Я добавил -javaagent:C:\apache-tomcat-6.0.33\lib\aspectjweaver-1.6.1.jarв параметры виртуальной машины при запуске Tomcat.

4) Мой aop.xml:

<!DOCTYPE aspectj PUBLIC "-//AspectJ//DTD//EN" "http://www.eclipse.org/aspectj/dtd/aspectj.dtd">

<aspectj>

    <aspects>
        <aspect name="org.perf4j.log4j.aop.TimingAspect"/>
    </aspects>

    <weaver options="-verbose -showWeaveInfo">           
        <include within="com.mypackages.MyClass"/>
    </weaver>
</aspectj>

Я не вижу никаких признаков того, что происходит переплетение во время загрузки. Ни сообщений об ошибках, ни необходимых результатов.Единственное сообщение об ошибке, которое у меня есть:

Error occurred during initialization of VM
agent library failed to init: instrument
Error opening zip file: C:\apache-tomcat-6.0.33\lib\wrong-jar.jar

в случае, когда я делаю ошибку в имени aspectjweaver-1.6.1.jarпри указании параметра javaagent. Если написано правильно - сообщения об ошибках не печатаются.

Есть идеи, что я делаю не так?

П.С. Я использую Java 5 и пробовал то же самое с 1.5.4 версией аспекта с точно такими же результатами.

8
задан Roman 5 April 2012 в 16:09
поделиться