aspectj - AspectJ 的加载时编织器如何找到 META-INF\aop.xml?

标签 aspectj perf4j

我正在尝试使用加载时编织将 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/

相关文章:

java - AspectJ 切入点来匹配用 @Test 注释的方法

java - 您是否使用 Perf4J 收集和分析 Java 应用程序中的性能指标?

grails - 无法在Grails 2.5.1上安装Perf4J集成插件

java - 访问方面类中的类变量

java - logback 不会将 perf4j 打印到日志文件

java - 将 perf4j 性能统计数据公开给 JMX 不起作用

java - NPE 与 Perf4j 和 Log4j

java - 如何在另一个项目中导入包含 AspectJ 方面和注释的项目

java - 如何在 OSGI (Apache Felix) 中为别人的 bundle 实现 AOP?

java - Spring with AspectJ compile-time weaving causing : java. lang.VerifyError: 非法使用非虚函数调用