【问题标题】:How to ensure gradle executes main class only after building app to 100%?如何确保 gradle 仅在将应用程序构建到 100% 后才执行主类?
【发布时间】:2019-08-28 21:00:03
【问题描述】:

我正在尝试运行一个 kotlin 应用程序,该应用程序充当一种 repl,具有输入阻塞。当我执行./gradlew run 时,它会运行应用程序,但仅在部分构建应用程序之后。因此,它会使用构建日志扭曲控制台。

> Task :run 
MY_CONSOLE:
<==========---> 83% EXECUTING [15s]
> :run

我希望它在完全构建到 100% 后运行主类,这样就不会出现失真。我该如何做到这一点?

我的 gradle 构建文件。

plugins {
    id 'org.jetbrains.kotlin.jvm' version '1.3.11'
}

group 'com.me.shiny-interpreter'
version '1.0-SNAPSHOT'
apply plugin: 'application'
apply plugin: 'kotlin'
mainClassName = "interpreter.Repl"



repositories {
    mavenCentral()
    maven { setUrl("https://dl.bintray.com/hotkeytlt/maven") }

}
configurations {
    ktlint
}
dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
    compile 'com.github.h0tk3y.betterParse:better-parse-jvm:0.4.0-alpha-3'
    // https://mvnrepository.com/artifact/junit/junit
    testCompile group: 'junit', name: 'junit', version: '4.4'
    ktlint "com.github.shyiko:ktlint:0.31.0"


}

compileKotlin {
    kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
    kotlinOptions.jvmTarget = "1.8"
}

run {
    standardInput = System.in
}

【问题讨论】:

    标签: java gradle kotlin build build.gradle


    【解决方案1】:

    Gradle 向您显示的进度是整个构建过程的估计进度,该过程由多个步骤组成,包括 run 任务。话虽如此,您的应用程序实际上是完全构建的,最后缺少的 17% 来自应用程序运行本身。无论如何,请放心您的应用程序已正确组装。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-31
      相关资源
      最近更新 更多