如何在Eclipse插件中使用AspectJ

Man*_*lva 5 java eclipse osgi aspectj ajdt

正如前一个问题所述,我试图检查所有ResultSet是否都已关闭.为此,我想使用AspcetJ,但经过一天的艰苦战斗后,我无法在插件上下文中使用方面.

我想要的是有一个方面项目定义几个方面来检查结果集,然后用我的自定义插件启动一个新的eclipse调试配置,并在这些插件上应用我的方面.

怎么实现呢?

提前谢谢,Manu

And*_*erg 6

由于您在OSGi环境中运行,因此需要使用特定样式的加载时编织,这是OSGi可识别的.标准的编译时编织或LTW不起作用.这是因为OSGi为每个插件使用不同的类加载器,Eclipse使用的插件集在启动之前是未知的.

看看Equinox Aspects(aka equinox weaving):

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

实质上,您需要对Aspect插件的清单文件进行一些更改,添加aop.xml文件,并确保将aspect插件设置为autostarted = true.

[编辑]截至日食Juno,步骤已更改,请参阅:http://wiki.eclipse.org/Equinox_Weaving_QuickStart