Проблемы с загрузчиком классов Tomcat 6 javagent - PullRequest
0 голосов
/ 25 марта 2010

Я использую библиотеку Salve Dependency Injection, которая обрабатывает байт-код веб-приложения. Я указал -javaagent в опциях Tomcat VM и указал его на jar агента Salve.

Агент jar загружается, но затем выдает java.lang.NoClassDefFoundError, который не может найти классы в других банках Salve, которые находятся в папке WEB-INF / lib моего веб-приложения.

Я могу решить эту проблему, поместив эти JAR-файлы в Tomcat / одобренную папку. Однако некоторые из этих jar-файлов зависят от сторонних библиотек, таких как Spring и servlet-api.jar. Поэтому я вынужден также поместить все эти зависимости в Tomcat /.

Кто-нибудь может предложить лучший способ обработки зависимостей javaagent Tomcat?

Спасибо.

Ответы [ 3 ]

0 голосов
/ 16 апреля 2010

Salve? WTF? Используйте AspectJ.

«Структура внедрения зависимостей, зависящая от Spring» - o_O?!

0 голосов
/ 01 июня 2011

Библиотека Salve состоит из нескольких файлов JAR. Некоторые из них зависят от сторонних библиотек, таких как Spring. В итоге я переместил эти файлы JAR из tomcat / одобрил в WEB-INF / lib моего веб-приложения. Мои выводы и окончательная структура рабочего каталога задокументированы здесь ?

0 голосов
/ 28 марта 2010

Это звучит очень странно. Агенты обычно не зависят от других классов, так как это сделает их совершенно бесполезными. Я думаю, что вы неправильно понимаете ошибку. Возможно ли, что зависимость от инструментальных классов и неправильные классы заканчивают инструментироваться?

...