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

求助:SpringBoot应用在IntelliJ中启动后以退出码0终止的原因排查

排查IntelliJ启动Spring Boot多模块应用直接退出的问题

遇到这种终端启动正常但IDE启动异常的情况,大概率是IntelliJ的配置或者项目同步出了问题,我给你整理几个常见的排查方向,你可以逐一试试:

  • 确认运行配置的模块和主类是否正确
    打开IntelliJ的Run/Debug Configurations,检查你用的Spring Boot配置:

    • 确保"Module"下拉框选的是application模块(也就是你的Spring Boot主模块)
    • "Main class"要指定到你那个带@SpringBootApplication注解的启动类,比如com.example.Application,不要选错成其他模块的类了。如果主类没自动识别,手动输入或者点击右边的按钮选择。
  • 同步Maven依赖并检查模块引用
    有时候IntelliJ的Maven依赖会滞后,右键项目根目录,选择Maven -> Reload Project,等待依赖同步完成。然后检查Application模块的pom.xml,确认已经正确引入了Simple Controller Service模块的依赖,比如:

    <dependency>
        <groupId>你的groupId</groupId>
        <artifactId>simple-controller-service</artifactId>
        <version>你的版本号</version>
    </dependency>
    

    同时在Maven面板里,确认所有模块都没有红色的警告标识。

  • 检查JDK配置是否和终端一致
    终端用的是SapMachine 11,要确保IntelliJ也用的同一个JDK:

    1. 打开File -> Project Structure -> Project,确认"Project SDK"是SapMachine 11,"Project language level"选11或者对应的值。
    2. 再到File -> Settings -> Build, Execution, Deployment -> Build Tools -> Maven -> Runner,确保"JRE"选的也是SapMachine 11,不要用IntelliJ默认的JRE。
  • 查看控制台和日志输出
    虽然进程退出码是0,但可能有隐藏的日志信息:

    • 在Run/Debug Configurations里,切换到"Logs"标签,勾选"Show console when message is printed in standard output"和"Show console when message is printed in standard error"。
    • 也可以把日志级别调低,在启动配置的"VM options"里加上-Dlogging.level.root=DEBUG,这样启动时会输出更详细的日志,看看有没有加载控制器或者启动过程中的异常。
    • 另外,检查IntelliJ的Event Log(右下角的小铃铛图标),有没有关于项目构建、依赖或者启动的提示。
  • 清理IntelliJ缓存和重新导入项目
    如果上面的方法都没用,可能是IntelliJ的缓存出问题了:

    1. 关闭项目,删除项目根目录下的.idea文件夹和所有模块的target文件夹。
    2. 重新打开IntelliJ,选择"Open"导入项目,让IntelliJ重新生成配置文件。
    3. 导入后再次执行Maven Reload,然后尝试启动应用。
  • 检查启动类的包扫描范围
    虽然终端启动正常,但还是确认下你的启动类@SpringBootApplication注解的扫描范围。如果Simple Controller Service模块的控制器不在启动类所在包的子包下,需要手动指定扫描路径,比如:

    @SpringBootApplication(scanBasePackages = {"com.example.application", "com.example.simplecontroller"})
    public class Application {
        public static void main(String[] args) {
            SpringApplication.run(Application.class, args);
        }
    }
    

    不过终端启动正常的话,这个大概率不是问题,但可以作为兜底检查项。

内容的提问来源于stack exchange,提问作者Rômulo Renner Maciel

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 07:52:44