当我在开发模式下停止应用程序并将 build.gradle.kts 与 spring boot 一起使用时出错

Posted

技术标签:

【中文标题】当我在开发模式下停止应用程序并将 build.gradle.kts 与 spring boot 一起使用时出错【英文标题】:Error when I stop the app in development mode and use build.gradle.kts with spring boot 【发布时间】:2020-09-02 08:51:43 【问题描述】:
    我用https://start.spring.io/ 创建了一个spring boot 应用程序 我有一个 build.gradle.kts 文件
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins 
    id("org.springframework.boot") version "2.2.6.RELEASE"
    id("io.spring.dependency-management") version "1.0.9.RELEASE"
    kotlin("jvm") version "1.3.71"
    kotlin("plugin.spring") version "1.3.71"
    kotlin("plugin.jpa") version "1.3.71"


group = "com.warlock"
version = "0.0.1-SNAPSHOT"
java.sourceCompatibility = JavaVersion.VERSION_11

repositories 
    mavenCentral()


dependencies 
    implementation("org.springframework.boot:spring-boot-starter-data-jpa")
    implementation("org.springframework.boot:spring-boot-starter-data-rest")
    implementation("org.springframework.boot:spring-boot-starter-web")
    implementation("org.springframework.boot:spring-boot-starter-security")
    implementation("org.springframework.security:spring-security-config")
    implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
    implementation("org.jetbrains.kotlin:kotlin-reflect")
    implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
    runtimeOnly("org.postgresql:postgresql")
    testImplementation("org.springframework.boot:spring-boot-starter-test") 
        exclude(group = "org.junit.vintage", module = "junit-vintage-engine")
    


tasks.withType<Test> 
    useJUnitPlatform()


tasks.withType<KotlinCompile> 
    kotlinOptions 
        freeCompilerArgs = listOf("-Xjsr305=strict")
        jvmTarget = "1.8"
    

    我运行应用程序并正常启动,但在 intellij idea 中停止它会引发错误:

它显示的错误代码如下

> Task :BackendAppApplicationKt.main() FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':BackendAppApplicationKt.main()'.
> Build cancelled while executing task ':BackendAppApplicationKt.main()'
* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':BackendAppApplicationKt.main()'.

Caused by: org.gradle.api.BuildCancelledException: Build cancelled while executing task ':BackendAppApplicationKt.main()'

enter image description here

【问题讨论】:

【参考方案1】:

当您按下停止按钮时,您会在外部停止/取消正在运行的任务,这是一个构建任务。如果您希望任务成功完成,您必须允许您的应用程序自行完成,即按停止您 - 正在取消导致引发异常的构建。

在您的情况下,应用程序完成并不适合 Spring,因此基本上忽略此消息。您可能会争辩说该消息不是特别清楚,看起来像是一个错误,但事实就是如此。

区别在于任务是在外部停止(通过停止按钮取消)还是自行完成。

【讨论】:

以上是关于当我在开发模式下停止应用程序并将 build.gradle.kts 与 spring boot 一起使用时出错的主要内容,如果未能解决你的问题,请参考以下文章

打盹模式停止了定位服务

gwt 初学者-当我在服务器上进行 RPC 调用时出错-相同的代码在 gwt 开发模式下工作

推送通知在沙盒模式下不起作用

当我在 STM32 上激活 ADC 中断时,程序停止工作

Xamarin App在调试时运行但在发布时崩溃

当我按下一个按钮时,“不幸的是我的应用程序已停止”[重复]