如何在Eclipse插件中使用AspectJ

5
如前一个问题中提到的,我正在尝试检查所有的ResultSet是否已关闭。为此,我想使用AspcetJ,但经过一天的艰苦奋斗,我无法在插件上下文中使用方面。
我想要的是有一个方面项目定义几个方面来检查结果集,然后启动一个新的eclipse调试配置与我的自定义插件,并应用我的方面这些插件。
如何实现?
提前感谢, Manu
1个回答

6
由于您正在运行在OSGi环境中,您需要使用特定的加载时织入方式,这种方式是OSGi感知的。标准的编译时织入或LTW将无法工作。这是因为OSGi为每个插件使用不同的类加载器,并且在启动之前不知道Eclipse使用的插件集合。
请查看Equinox Aspects(又名equinox weaving):

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

基本上,您需要对您的切面插件的清单文件进行一些更改,添加一个aop.xml文件,并确保您的切面插件设置为autostarted=true。
[编辑] 自Eclipse Juno以来,步骤已更改,请参见:http://wiki.eclipse.org/Equinox_Weaving_QuickStart

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接