1

MOJO プラグイン DI に Plexus を使用する場合、MOJO 構成パラメーター ( @ParameterMojo クラスで注釈付き) を他のコンポーネントにも注入する方法はありますか?

言い換えれば、他のコンポーネントに Mojo 自体を注入するか、手動の「init メソッド」に頼る以外に、Mojo パラメータを他の Plexus コンポーネントと共有する方法はありますか? パラメータが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);
        ...
    }
}
4

0 に答える 0