Maven MOJO依赖注入和参数

时间:2016-11-21 09:23:22

标签: maven maven-plugin plexus

当使用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);
        ...
    }
}

0 个答案:

没有答案