2

我在尝试检测 SWT 何时Shell.setText()执行时遇到了一些麻烦。

我创建了两个简单的切入点,一个有效,另一个无效:

在此处输入图像描述

据我了解,这是因为 AspectJ 没有在其类路径或其他东西中检测到 SWT 库。

理想情况下,我想使用 Load-Time-Weaving,所以我在 Eclipse 的 LTW-Classpath 中添加了以下 Jar 文件:

org.eclipse.swt.win32.win32.x86_64_3.102.0.v20130311-2025.jar

我在我的 Hello World SWT 项目的“引用库”集中找到了它。

但是问题还是一样,Eclipse(和我的小应用程序)都标记了execution切入点,不能应用于任何东西。

谁能指出我的原因?

4

1 回答 1

2

有两个原因。

Eclipse 的 AspectJ 插件不会识别适用于项目范围之外的任何内容(在本例中为 SWT),因此将我们的结论从上下文信息中提取出来将无济于事。另外,虽然Shell继承了一个setText()方法,但它setText()是在 中定义的Decorations,所以 AspectJ 不会像我写的那样匹配它。

这些就是原因。

于 2013-04-19T16:45:24.057 回答