Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Maven插件停止执行而不引发MojoExecutionException异常_Java_Maven_Maven 2 - Fatal编程技术网

Java Maven插件停止执行而不引发MojoExecutionException异常

Java Maven插件停止执行而不引发MojoExecutionException异常,java,maven,maven-2,Java,Maven,Maven 2,我正在写一个maven插件。在execute()函数中,我需要实例化另一个类并监视某些活动。当满足某个条件时,我想取消maven进程的执行,但我不能仅仅抛出一个异常,因为上下文将不同。下面是一段代码,说明了我的意思: public void execute() throws MojoExecutionException { new AnotherClass() { void monitorForSomething() { // cancel execution here

我正在写一个maven插件。在execute()函数中,我需要实例化另一个类并监视某些活动。当满足某个条件时,我想取消maven进程的执行,但我不能仅仅抛出一个异常,因为上下文将不同。下面是一段代码,说明了我的意思:

public void execute() throws MojoExecutionException {
  new AnotherClass() {
    void monitorForSomething() {
      // cancel execution here
    }
  }.start();
}

据我所知,为取消生成而标记错误的唯一方法是引发异常,但如果从该内部类引发,则该方法将无效,因为异常不会通过start()函数升级。除了使用线程之外,还有什么我可以使用的,至少可以说是很麻烦的吗?如果有一种方法可以通过一个方法而不是仅仅抛出一个异常来停止构建,那就太好了。

我会用try-catch块来包围内部类,看看引发了哪种异常。但是,如果这意味着出现了问题,您必须向Maven引发异常,这意味着破坏构建,否则就没有意义了。start方法不会引发任何异常,因为所有异常都被捕获。我想知道是否有可能从内部类引发异常而不实际引发异常。