MOJO プラグイン DI に Plexus を使用する場合、MOJO 構成パラメーター ( @Parameter
Mojo クラスで注釈付き) を他のコンポーネントにも注入する方法はありますか?
言い換えれば、他のコンポーネントに 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);
...
}
}