Gradle JavaExec任务永不结束

时间:2019-08-03 06:05:09

标签: java gradle javaexec-gradle-plugin

我有一个简单的数据库迁移JavaExec任务,该任务在gitlab的构建过程中运行Java类。我有许多运行相同代码的微服务。出乎意料的是,我的一项服务突然停止了构建,陷入了这一迁移步骤。任务如下所示:

task dbMigrate(type: JavaExec) {
  classpath = sourceSets.main.runtimeClasspath
  main = 'com.blah.Migration'
  doFirst {
      println "Starting dbMigrate"
  }
  doLast {
      println "dbMigrate finished"
  }
}

该类如下:

public static void main(String[] args) {
    AnotherClass.main(args);
    System.out.println("@Migration: complete");
}

有趣的是,这是输出:

Starting dbMigrate
@Migration: complete

主类结束,最后一行打印完成,但是我从未收到“ dbMigrate完成”日志,并且构建永久挂起。

更新:在我的主要方法的末尾添加一个明确的System.exit(0)似乎可以解决此问题。为什么仅在这种情况下有必要这样做?

0 个答案:

没有答案