Как средство загрузки во время загрузки AspectJ находит META-INF\aop.xml?

Я пытаюсь использовать переплетение во время загрузки, чтобы связать perf4j с программой, но, похоже, он не находит aop.xml в моем пути к классам. Либо так, либо он не плетет аспект, потому что не находит его. Я включил подробный вывод из aop.xml, но я не вижу никаких сообщений, ошибок или чего-то еще. Где аспект Jweaver ищет META-INF/aop.xml? Как я могу сказать, кого он ищет?

Я попытался использовать прямой путь для импорта xml с этим, но это не сработало. -Dorg.aspectj.weaver.loadtime.configuration=C:\dev\trunk\bin\META-INF\aop.xml

Примечание. Программа работает, как и предполагалось, с переплетением во время компиляции, но я бы предпочел использовать переплетение во время загрузки. Я также смог реализовать переплетение во время загрузки, используя небольшие тестовые примеры.


person user1228787    schedule 23.02.2012    source источник


Ответы (1)


Папка META-INF должна находиться в корне пути к классам. А в папке META-INF должен быть файл aop.xml.

Для автономных программ вы должны запустить JVM с агентом Java. Например:

-javaagent:pathto/aspectjweaver.jar

С весной:

-javaagent:pathto/spring-agent.jar

Дополнительную информацию об этом можно найти в Руководстве по среде разработки.

Если вы используете веб-контейнер, вы должны настроить контейнер для выполнения переплетения во время загрузки. SpringSource справочное руководство показывает, как включить сплетение во время загрузки с помощью Tomcat.

person Espen    schedule 24.02.2012