Как AspectJ-загрузчик находит META-INF \ aop.xml? - PullRequest
4 голосов
/ 23 февраля 2012

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

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

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

1 Ответ

6 голосов
/ 24 февраля 2012

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

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

-javaagent:pathto/aspectjweaver.jar

с пружиной:

-javaagent:pathto/spring-agent.jar

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

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

...