Работают ли аннотации сплетения в плагине maven?

Я работаю над пользовательским плагином maven и пытаюсь использовать аннотации Plexus для внедрения зависимостей, как показано в блоге Sonotype.

У меня есть поле, определенное в моем mojo:

/**
 */
@Requirement(hint = "rhino")
private RhinoRunner rhinoRunner;

И класс, определенный с @Component аннотация:

/**
 */
@Component(role = RhinoRunner.class, hint = "rhino")
public class RhinoRunnerImpl implements RhinoRunner {

Затем я добавил конфигурацию в компонент.xml. Когда я использую плагин rhinoRunner поле пустое Если я использую старый тег javadoc для зависимости, как показано ниже, он работает правильно:

/**
 * @component
 */
private RhinoRunner rhinoRunner;

Можно ли заставить аннотации Java5 работать?

1 ответ

Решение

Аннотации плагинов отличаются от аннотаций сплетения (хотя аннотации плагинов используют один и тот же механизм для выполнения требования).

Вы должны продолжать использовать аннотации плагинов в Mojo, но можете свободно использовать другие аннотации в чистых компонентах (в плагине или любых вспомогательных библиотеках).

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