当我在开发模式下停止应用程序并将 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 一起使用时出错的主要内容,如果未能解决你的问题,请参考以下文章