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

Spring Boot 2.7.16启动失败求助:编译成功但运行报错退出码1

Spring Boot 2.7.16启动失败排查指南

问题背景

pom.xml中配置的Spring Boot父依赖版本为2.7.16:

<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.16</version>

执行mvn clean install可正常完成编译构建,但执行以下启动命令均失败:

  • mvn spring-boot:run
  • mvn spring-boot:run -D"spring-boot.run.profiles"=local
  • mvn spring-boot:run -Drun.jvmArguments="-Dspring.profiles.active=LOCAL -Xdebug -DprocessorIntegrationTest.debug=true"

报错信息

[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time:  41.962 s 
[INFO] Finished at: 2023-10-31T19:08:38+01:00 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.7.16:run (default-cli) on project: Application finished with exit code: 1 -> [Help 1] 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.7.16:run (default-cli) on project - Application finished with exit code: 1 
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:347) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:330) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:213) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:175) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:76) 
    at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:163) 
    at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:160) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73) 
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118) 
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:260) 
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:172) 
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:100) 
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:821) 
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:270) 
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:192) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke (Method.java:498) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347) 
Caused by: org.apache.maven.plugin.MojoExecutionException: Application finished with exit code: 1 
    at org.springframework.boot.maven.RunMojo.runWithForkedJvm (RunMojo.java:103) 
    at org.springframework.boot.maven.AbstractRunMojo.doRunWithForkedJvm (AbstractRunMojo.java:291) 
    at org.springframework.boot.maven.AbstractRunMojo.run (AbstractRunMojo.java:255) 
    at org.springframework.boot.maven.AbstractRunMojo.execute (AbstractRunMojo.java:225) 
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:126) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:342) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:330) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:213) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:175) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:76) 
    at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:163) 
    at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:160) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73) 
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118) 
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:260) 
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:172) 
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:100) 
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:821) 
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:270) 
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:192) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke (Method.java:498) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)

排查方向

  1. 获取详细应用日志:当前报错仅显示退出码1,缺少启动时的具体异常。可添加启动参数-Dspring-boot.run.arguments="--debug",或调整日志框架配置(如logback)将级别设为DEBUG,获取完整错误信息。
  2. 校验JVM参数格式:第三个启动命令的JVM参数可能存在格式问题,不同操作系统对引号嵌套的处理逻辑不同。可尝试拆分参数,或直接在pom.xml的spring-boot-maven-plugin中配置jvmArguments,避免命令行格式冲突。
  3. 检查环境配置文件:确认local/LOCAL环境对应的配置文件(如application-local.properties/yaml)是否存在,配置项是否合法(如数据库连接、端口配置等)。编译成功不代表配置无语法错误,启动时才会加载校验。
  4. 排查端口占用:应用启动端口是否被其他进程占用,可使用netstat -ano(Windows)或lsof -i :端口号(Linux/macOS)命令检查。
  5. 分析依赖冲突:执行mvn dependency:tree生成依赖树,排查是否存在依赖版本冲突,导致启动时初始化失败。
  6. 直接运行Jar包:使用java -jar target/[你的Jar包名称].jar启动应用,获取更直接的错误输出,区分是Maven插件问题还是应用本身的问题。

内容的提问来源于stack exchange,提问作者Pedro Suárez Castaño

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 05:20:54