Я пытаюсь заставить Load Time Weaving работать с моим веб-приложением Tomcat 7, чтобы сплести класс из внешнего файла jar (расположенного в WEB-INF/lib
).
Я сделал следующее:
Запустил Tomcat со следующими параметрами:
-javaagent:/path/aspectjweaver-1.7.0.jar -classpath /path/aspectjrt-1.7.0.jar:etc
Поместил
aop.xml
вWAR_ROOT/META-INF/, WEB-INF/lib/META_INF, WEB-INF/lib and WEB-INF/
aop.xml:
<aspectj>
<aspects>
<aspect name="ca.gc.agr.agrishare.web.jsf.chartlet.AgriShareGanttRendererAspect"/>
</aspects>
<weaver options="-verbose -debug -XnoInline">
<include within="org.jfree..*"/>
<dump within="org.jfree..*" />
</weaver>
</aspectj>
Независимо от того, куда я помещаю файл, мой целевой класс не вплетен, и я продолжаю видеть такие ошибки:
[WebappClassLoader@495b317b] error can't determine implemented interfaces of missing type javax.validation.ValidatorFactory
when weaving type org.hibernate.cfg.beanvalidation.TypeSafeActivator
when weaving classes
when weaving
[Xlint:cantFindType]
Тот факт, что он пытается сплести класс вне указанного мной пакета, и учитывая, что время запуска сервера увеличилось в четыре раза, я думаю, что он пытается сплести все классы.
Что мне не хватает?