私はmavenプラグインを書いています。execute() 関数内で、別のクラスをインスタンス化し、特定のアクティビティを監視する必要があります。特定の条件が満たされた場合、maven プロセスの実行をキャンセルしたいのですが、コンテキストが異なるため、例外をスローすることはできません。ここに、私が何を意味するかを示すコードを少し示します。
public void execute() throws MojoExecutionException {
new AnotherClass() {
void monitorForSomething() {
// cancel execution here
}
}.start();
}
私が知る限り、ビルドをキャンセルするためにエラーにフラグを立てる唯一の方法は例外を発生させることですが、例外が start() 関数を介してエスカレートしないため、この内部クラスから発生した場合は役に立ちません。少なくとも言うのが面倒なスレッドの使用以外に使用できるものはありますか? 例外をスローするだけでなく、メソッドを介してビルドを停止する方法があれば、非常に便利です。