我正在尝试使用load-time-weaving将perf4j绑定到程序中,但它似乎没有在我的类路径中找到aop.xml。无论是那个还是它没有编织方面,因为它没有找到它。我已经从aop.xml启用了详细输出,但我没有看到任何编织消息,错误或其他。 aspectJweaver在哪里查找META-INF / aop.xml?我怎么知道它在寻找哪一个?
我试图使用直接路径导入xml,但它没有用。 -Dorg.aspectj.weaver.loadtime.configuration = C:\ dev的\主干\ BIN \ META-INF \ aop.xml文件
注意:程序按编程时编织工作,但我更喜欢使用load-time-weave。我还能够使用小型测试用例来实现加载时编织。
答案 0 :(得分:6)
META-INF文件夹必须位于类路径的根目录中。 META-INF文件夹必须包含文件aop.xml。
对于独立程序,必须使用编织Java代理启动JVM。 例如:
-javaagent:pathto/aspectjweaver.jar
使用Spring:
-javaagent:pathto/spring-agent.jar
您可以在AspectJ的Development Environment Guide上找到有关它的更多信息。
如果使用Web容器,则必须配置容器以执行加载时编织。 SpringSource's reference guide向您展示了如何使用Tomcat启用加载时编织。