2011-12-05 33 views
0

快速免責聲明:我運行的是Eclipse 3.5,我無法升級到更新的版本。我真的不希望任何人將此視爲不敬,但請不要問我爲什麼。在單個獨立Eclipse RCP應用程序中的多個Eclipse插件中共享單個.aj AspectJ方面

我想知道什麼是在包含單個獨立RCP應用程序的多個eclipse插件中共享單個.aj方面文件的最佳(和猶如)方式文件。

我見過很多例子,其中一個插件包含一個.aj aspect文件。但我猜測,每個插件項目都必須有一個更好的方法來承載自己的相同.aj副本。

沒有辦法「集中」.aj文件,然後從每個插件項目中引用它?

回答

0

如果我理解正確,你想有一個應用於多個捆綁包的方面?

它應該只是簡單地將該方面封裝在一個包中,並且所有需要它的包(Import-Package也應該如此)使用Require-Bundle。如果您需要更細粒度的控制,你可以使用apply-aspects:=truefalse,例如在你的META-INF/MANIFEST.MF添加此:

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 

確保您列出META-INF/aop.xml您的方面,否則他們將不會被執行。

+0

您只需將'aop.xml'放入導出方面的包中即可。看看[這裏](https://github.com/scala-ide/scala-ide/blob/master/org.scala-ide.sdt.aspects/META-INF/aop.xml) –

+0

謝謝你的支持響應。我創建了一個插件項目,將其轉換爲AspectJ項目,然後在項目屬性下使用它的編譯器生成aop-ajc.xml。其內容如下所示:。你能不能讓我知道該怎麼辦?我是否應該將它放在每個包中,包括包含該方面的包,還是隻包含將導入該方面的「目標」包?另外,我是否必須將所有其他包轉換爲aspectj項目?謝謝!!! – user1056027

+0

我是否必須去項目屬性 - > aspectj build-> aop.xml管理,然後添加對META-INF下的aop.xml的引用? – user1056027

相關問題