Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在单个独立Eclipse RCP应用程序中的多个Eclipse插件之间共享单个.aj AspectJ方面_Eclipse_Plugins_Aspectj_Rcp - Fatal编程技术网

在单个独立Eclipse RCP应用程序中的多个Eclipse插件之间共享单个.aj AspectJ方面

在单个独立Eclipse RCP应用程序中的多个Eclipse插件之间共享单个.aj AspectJ方面,eclipse,plugins,aspectj,rcp,Eclipse,Plugins,Aspectj,Rcp,快速免责声明:我正在运行Eclipse3.5,无法升级到最新版本。我真的不想让任何人把这理解为不尊重,但请不要问我为什么 我想知道在组成单个独立RCP应用程序的多个eclipse插件之间共享单个.aj方面文件的最佳方式是什么 我已经看到了许多示例,其中一个插件的包中包含一个.aj方面文件。但我猜想,必须有一种比每个插件项目都有自己相同的.aj副本更好的方法 是否有一种方法可以集中.aj文件,然后从每个插件项目引用它?如果我理解正确,您希望有一个应用于多个bundle的方面 它应该可以简单地将该方

快速免责声明:我正在运行Eclipse3.5,无法升级到最新版本。我真的不想让任何人把这理解为不尊重,但请不要问我为什么

我想知道在组成单个独立RCP应用程序的多个eclipse插件之间共享单个.aj方面文件的最佳方式是什么

我已经看到了许多示例,其中一个插件的包中包含一个.aj方面文件。但我猜想,必须有一种比每个插件项目都有自己相同的.aj副本更好的方法


是否有一种方法可以集中.aj文件,然后从每个插件项目引用它?

如果我理解正确,您希望有一个应用于多个bundle的方面

它应该可以简单地将该方面打包到一个bundle中,并且使用来自所有需要它的bundle导入包的Require bundle也应该可以工作。如果您需要更细粒度的控制,可以使用apply aspects:=true或false,例如在META-INF/MANIFEST.MF中添加:


确保在META-INF/aop.xml中列出特性,否则它们将不会被执行。

只需将aop.xml放在导出特性的捆绑包中即可。看一看谢谢你的回复。我创建了一个插件项目,将其转换为AspectJ项目,然后在项目属性下使用其编译器生成aop-ajc.xml。它的内容看起来是这样的:。你能告诉我怎么处理吗?我应该将它放在每个包中,包括包含方面的包,还是只放在将导入方面的目标包中?另外,我是否必须将所有其他捆绑包转换为aspectj项目?非常感谢。我是否必须转到project properties->aspectj build->aop.xml management,然后在META-INF下添加对aop.xml的引用?aop.xml文件应该只位于导出方面的包中。另外,方面包应该使用Require包来列出应该编织的包。我没有使用项目属性,只是编辑了该文件并将其放在META-INF下。好的,我现在清楚了aop.xml,但对Require包有些困惑。在最初的帖子中,您声明目标Bundle应该使用requirebundle来导入方面Bundle。但是在上一篇文章中,您声明方面包应该使用Require包来引用要编织的包。那是哪一个呢?非常感谢。
 Import-Package: 
  com.ibm.icu.text;apply-aspects:=false;org.eclipse.swt.graphics;apply-aspects:=false,
  scala.tools.eclipse.contribution.weaving.jdt;apply-aspects:=false