Maven MOJO инъекция зависимостей и параметров
При использовании Plexus для плагина MOJO DI, есть ли способ ввести параметр конфигурации MOJO (помечено как @Parameter
в классе Mojo) и в других компонентах?
Другими словами: есть ли способ, которым я могу делиться параметрами Mojo с другими компонентами Plexus, кроме инъекции самого Mojo в другие компоненты или прибегая к ручному "методу init"? Я надеялся, что параметры будут управляться контекстом DI.
Допустим, у меня есть Mojo, как это:
@Mojo
public class MyMojo extends AbstractMojo {
@Parameter
private String param;
@Inject
private SomeComponent component;
}
Тогда было бы неплохо сделать что-то вроде этого:
@Named
public class SomeComponent {
@Inject // or whatever else
private String param;
// some methods that use param here
}
Вместо того, чтобы делать:
@Mojo
public class MyMojo extends AbstractMojo {
@Parameter
private String param;
@Inject
private SomeComponent component;
@Override
public void execute() throws MojoExecutionException {
component.setParam(param);
...
}
}