совместное использование одного аспекта .aj AspectJ между несколькими подключаемыми модулями Eclipse в одном автономном приложении Eclipse RCP - PullRequest
0 голосов
/ 05 декабря 2011

Быстрый отказ от ответственности: я использую Eclipse 3.5 и не могу перейти на более новую версию. Я действительно не хочу, чтобы кто-то истолковывал это как неуважительное отношение, но, пожалуйста, не спрашивайте меня, почему.

Я хотел бы знать, каков наилучший (и кошерный) способ поделиться одним файлом аспекта .aj среди нескольких плагинов Eclipse, которые составляют одно автономное приложение RCP.

Я видел несколько примеров, когда один плагин содержит файл аспекта .aj в одном из своих пакетов. Но я предполагаю, что должен быть лучший способ, чем для каждого проекта плагина, иметь свою идентичную копию .aj.

Нет ли способа "централизовать" файл .aj и затем ссылаться на него из каждого проекта плагина?

1 Ответ

0 голосов
/ 05 декабря 2011

Если я правильно понимаю, вы хотите иметь аспект, который применяется в нескольких пакетах?

Он должен работать просто, упаковывая этот аспект в пакет, и используя Require-Bundle из всех пакетов, которые в нем нуждаются (Import-Package также должен работать). Если вам нужен более детальный контроль, вы можете использовать apply-aspects:=true или false, например, добавив это в ваш 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, иначе они не будут выполнены.

...