java - 如何在 Eclipse 插件中使用 AspectJ

标签 java eclipse osgi aspectj ajdt

如前所述 question我正在尝试检查我的所有 ResultSet 是否已关闭。为此,我想使用 AspcetJ,但经过 1 天的艰苦奋斗后,我无法在插件上下文中使用方面。

我想要的是定义几个方面的方面项目来检查结果集,然后使用我的自定义插件启动新的 Eclipse 调试配置,并将我的方面应用于这些插件。

如何实现?

提前致谢, 马努

最佳答案

由于您在 OSGi 环境中运行,因此您需要使用一种特定风格的加载时编织,一种 OSGi 感知的风格。标准编译时编织或 LTW 将不起作用。这是因为 OSGi 为每个插件使用不同的类加载器,并且 Eclipse 使用的插件集在启动前是未知的。

看看 Equinox Aspects(又名 equinox 编织):

http://www.eclipse.org/equinox/incubator/aspects/equinox-aspects-quick-start.php

基本上,您需要对方面插件的 list 文件进行一些更改,添加一个 aop.xml 文件,并确保您的方面插件设置为 autostarted=true。

[编辑] 从 eclipse Juno 开始,步骤已更改,请参阅:http://wiki.eclipse.org/Equinox_Weaving_QuickStart

关于java - 如何在 Eclipse 插件中使用 AspectJ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4106916/

相关文章:

java - 在 java eclipse 控制台中更改颜色

eclipse - jetty 启动问题 : WebAppContext:Failed startup of context o. e.j.w.WebAppContext{/,null}

java - 在纯 Java 中拆分包

java - Apache Felix Web 控制台

java - Mockito spy doReturn 不适用于父类(super class)方法

java - hibernate - 运行时过滤关系

java - Eclipse 插件 : how to modify a file source programatically?

java - 以编程方式更改 OSGi 包导入

java - 在 CQ5 中搜索多个标签

java - Servlet 响应写入与打印?哪个更好?