我正在尝试使用加载时编织将 perf4j 绑定(bind)到程序中,但它似乎在我的类路径中找不到 aop.xml。要么是这样,要么它没有编织这个方面,因为它没有找到它。我已启用 aop.xml 的详细输出,但我没有看到任何编织消息、错误或其他内容。 spectJweaver 在哪里查找 META-INF/aop.xml?我如何知道它正在寻找哪一个?
我尝试使用直接路径来导入 xml,但没有成功。 -Dorg.aspectj.weaver.loadtime.configuration=C:\dev\trunk\bin\META-INF\aop.xml
注意:程序按照编译时编织的预期工作,但我更喜欢使用加载时编织。我还能够使用小型测试用例来实现加载时编织。
最佳答案
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 启用加载时编织。
关于aspectj - AspectJ 的加载时编织器如何找到 META-INF\aop.xml?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9418001/