编织Eclipse 3.7插件项目中包含的AspectJ方面

jks*_*der 5 java eclipse-pde aspectj eclipse-plugin

目标

我正在构建一个针对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在插件配置中检查了依赖关系"Reexport this dependency" .
  4. 我在META-INF目录的aop.xml中定义了方面.
  5. 我的MANIFEST.MF Export-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

没有任何建议被应用.编织者是否有可能不够早编织?该怎么办?

And*_*erg 2

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