5

目标

我正在构建一个针对 3.7 环境的 Eclipse 插件,并希望在插件中包含一个方面,该方面为插件中的代码提供建议。

设置

考虑到 3.4 和 3.7 之间的明显差异,我一直在努力遵循这些准则的精神:http: //www.eclipse.org/equinox/incubator/aspects/equinox-aspects-quick-start。 php

这是我到目前为止所拥有的:

  1. 一个带有方面和一些源代码的插件项目。
  2. 插件项目已转换为 AspectJ 项目,这会触发 Eclipse 自动添加org.aspectj.runtime (1.6.12)到插件的依赖项中。
  3. org.aspectj.runtime我检查了插件配置中依赖项的“重新导出此依赖项” 。
  4. 我在 META-INF 目录中的aop.xml中定义了方面。
  5. 我的 MANIFEST.MFExport-Package在方面所在的包上有一个条目。
  6. 我的运行配置包括以下插件和启动级别:
    • org.eclipse.equinox.weaving.aspectj(1级开始)
    • org.eclipse.equinox.weaving.hook(默认的起始级别为 4)
    • org.aspectj.runtime(1级开始)
    • org.aspectj.weaver(1级开始)

当前结果

我看到控制台中的行看起来像这样,但似乎这个处理发生在第一次加载每个类时。

[com.my.traceeditor] info processing reweavable type com.my.util.ByteUtil: com\my\util\ByteUtil.java

没有建议被应用。是不是织工织的不够早?该怎么办?

4

1 回答 1

2

当您编写一个仅在同一个包中应用的方面时,您不需要Equinox 编织。这仅适用于交叉束编织。只要确保您的包使用编译时编织,您就可以删除对编织插件的依赖。

于 2012-06-19T19:25:22.503 回答