Как использовать AspectJ в плагинах Eclipse - PullRequest
4 голосов
/ 05 ноября 2010

Как упоминалось в предыдущем вопросе Я пытаюсь проверить, все ли мои ResultSet закрыты.Для этого я хочу использовать AspcetJ, но после 1 дня напряженной борьбы я не в состоянии использовать аспекты в контексте плагина.

1004 * То, что я хочу, чтобы иметь аспект проект определения несколько аспектов для проверки ResultSet, а затем запуститьновая конфигурация отладки eclipse с моими пользовательскими плагинами, и мои аспекты применяются к этим плагинам.

Как этого добиться?

Заранее спасибо, Manu

1 Ответ

6 голосов
/ 05 ноября 2010

Поскольку вы работаете в среде OSGi, вам необходимо использовать особый стиль ткачества во время загрузки, который поддерживает OSGi. Стандартное плетение во время компиляции или LTW не будет работать. Это связано с тем, что OSGi использует разные загрузчики классов для каждого плагина, а набор плагинов, используемых Eclipse, не известен до запуска.

Взгляните на аспекты равноденствия (ткачество равноденствия):

http://www.eclipse.org/equinox/incubator/aspects/equinox-aspects-quick-start.php

По сути, вам нужно внести некоторые изменения в файл манифеста вашего аспектного плагина, добавить файл aop.xml и убедиться, что ваш плагин аспекта имеет значение autostarted = true.

[править] Начиная с затмения Юнона шаги меняются, см .: http://wiki.eclipse.org/Equinox_Weaving_QuickStart

...