Как использовать AspectJ в плагинах Eclipse

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

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

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

Заранее спасибо, Ману

1 ответ

Решение

Поскольку вы работаете в среде 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

Другие вопросы по тегам