You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot REST API启动后自动停止问题求助(Java 19)

Spring Boot REST API启动后立即停止的解决方案

你当前运行的是support-learning-jp-0.0.1-SNAPSHOT-plain.jar,这是Spring Boot生成的普通JAR包——它仅包含项目自身代码,不内嵌Web容器(如Tomcat),也没有维持应用进程运行的逻辑,所以启动完成后主线程结束,进程就自动终止了。

解决步骤

1. 运行正确的可执行JAR包

Spring Boot插件默认会生成两个JAR文件:

  • 带-plain后缀:普通JAR,仅含项目代码
  • 不带后缀:可执行Fat JAR,包含所有依赖和内嵌Web容器

你需要运行不带-plain后缀的JAR包,执行命令:

java -jar C:\Users\LENOVO\IdeaProjects\support-learning-jp\build\libs\support-learning-jp-0.0.1-SNAPSHOT.jar

2. 检查build.gradle配置

确认你的build.gradle中正确引入Spring Boot插件,确保可执行JAR的构建逻辑生效:

plugins {
    id 'org.springframework.boot' version '你的Spring Boot版本号'
    id 'io.spring.dependency-management' version '对应依赖管理版本'
    id 'java'
}

// 可选:明确开启可执行JAR打包(默认已启用)
bootJar {
    enabled = true
}

// 若不需要生成plain jar,可关闭此任务
jar {
    enabled = false
}

3. 确保项目包含Web依赖

作为REST API应用,必须引入Spring Web Starter依赖,否则即使是可执行JAR,启动后也会因无Web容器而立即停止:

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    // 其他业务依赖...
}

4. 重新构建并启动

执行命令重新打包项目:

./gradlew clean build

之后再运行上述不带-plain后缀的JAR包即可。

你的启动日志

23:35:04.965 [main] INFO com.example.supportlearningjp.SupportLearningJpApplication -- Starting SupportLearningJpApplication using Java 19.0.2 with PID 12932 (C:\Users\LENOVO\IdeaProjects\support-learning-jp\build\libs\support-learning-jp-0.0.1-SNAPSHOT-plain.jar started by LENOVO in C:\Users\LENOVO\IdeaProjects\support-learning-jp)
23:35:04.968 [main] INFO com.example.supportlearningjp.SupportLearningJpApplication -- No active profile set, falling back to 1 default profile: "default"
23:35:05.219 [main] INFO com.example.supportlearningjp.SupportLearningJpApplication -- Started SupportLearningJpApplication in 0.381 seconds (process running for 0.588)

内容的提问来源于stack exchange,提问作者Trung Hoai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 09:00:22