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

Spring Boot项目通过GitHub部署Heroku遇H14及H10错误求助

问题解决步骤

问题回顾

  • 本地及CLI部署项目正常,GitHub自动部署到Heroku后报错
  • 初始报错:at=error code=H14 desc="No web processes running",执行heroku ps:scale web=1 -a <你的应用名>提示找不到进程类型
  • 添加Java/JVM构建包后scale命令成功,但出现at=error code=H10 desc="App crashed"

解决H14(无Web进程运行)问题

  1. 添加Procfile文件到项目根目录
    Heroku需要通过这个文件明确Web进程的启动命令,文件内容示例:

    web: java -jar target/bugtracker-<版本号>.jar
    

    替换成你项目实际生成的可执行Jar包路径(Maven打包默认在target/下,Gradle在build/libs/下)。

  2. 确认构建配置
    确保项目打包生成可执行Jar:比如Spring Boot项目要在pom.xml中配置spring-boot-maven-plugin;普通Java项目用maven-assembly-plugin打包成包含所有依赖的可执行Jar。


解决H10(应用崩溃)问题

  1. 查看详细崩溃日志
    执行命令获取实时日志定位原因:

    heroku logs --tail -a <你的应用名>
    

    常见崩溃原因及处理:

    • 端口硬编码:项目不能固定端口,必须读取Heroku分配的PORT环境变量,示例代码:
      int port = Integer.parseInt(System.getenv().getOrDefault("PORT", "8080"));
      // 使用该端口启动服务
      
    • 依赖缺失:检查打包是否包含所有依赖,确保生成的是包含依赖的fat jar。
    • 构建包冲突:移除多余的JVM构建包,仅保留官方heroku/java构建包,执行命令:
      heroku buildpacks:set heroku/java -a <你的应用名>
      
  2. 重新部署
    修改后提交代码到GitHub触发自动部署,或用CLI手动部署:

    git push heroku main
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 10:15:33