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

时间:2012-06-14 19:57:27

标签: java eclipse-plugin aspectj eclipse-pde

目标

我正在构建一个针对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.MF在方面所在的包中有一个Export-Package条目。
  6. 我的运行配置包括以下插件和启动级别:
    • org.eclipse.equinox.weaving.aspectj(开始等级为1)
    • org.eclipse.equinox.weaving.hook(默认的起始级别为4)
    • org.aspectj.runtime(开始等级为1)
    • org.aspectj.weaver(开始等级为1)
  7. 当前结果

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

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

    没有任何建议被应用。编织者是否有可能足够早地编织?怎么办?

1 个答案:

答案 0 :(得分:2)

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