当使用Plexus for MOJO插件DI时,有没有办法在其他组件中注入MOJO配置参数(在Mojo类中注明@Parameter
)?
换句话说:除了在其他组件中注入Mojo本身,或者采用手工制作的" init方法之外,我是否有办法与其他Plexus组件共享Mojo参数?#34 ;?我有点希望参数可以通过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);
...
}
}