当前位置: 首页 > 知识库问答 >
问题:

将Spring引导应用程序部署到heroku-错误消息“没有运行的网络进程”

秦俊
2023-03-14

我创建了一个spring boot web应用程序(在IntelliJ IDEA中),它在本地运行没有问题。

然后我构建了一个工件(Build)-

我尝试按照heroku在本演练中描述的步骤将应用程序部署到heroku:https://devcenter.heroku.com/articles/deploying-spring-boot-apps-to-heroku

注意:演练没有提到Procfile,所以我没有创建Procfile。

当在浏览器中打开应用程序的地址时,我面临一个“应用程序错误”。

日志显示,构建应用程序是成功的,但显然“没有运行任何web进程”:

2020-02-06T20:42:19.262364 00:00应用程序[api]:由用户创建的版本v1michaels@icloud.com2020-02-06T20:42:19.598724 00:00应用程序[api]:由用户创建的v2版michaels@icloud.com2020-02-06T20:42:19.262364 00:00应用程序[api]:用户首次发布michaels@icloud.com2020-02-06T20:42:19.598724 00:00应用程序[api]:按用户启用Logplexmichaels@icloud.com2020-02-06T20:46:11.00000000:00应用程序[api]:由用户启动构建michaels@icloud.com2020-02-06T20:46:56.626428 00:00应用程序[api]:由用户创建的v3版本michaels@icloud.com2020-02-06T20:46:56.626428 00:00应用程序[api]:按用户部署93b6dfeamichaels@icloud.com2020-02-06T20:47:04.00000000:00应用程序[api]:构建成功2020-02-06T20:48:22.485742 00:00 heroku[router]:at=error code=H14 desc=“无web进程运行”方法=GET path=“/”主机=my app。希罗库普。com request_id=22e30a92-5094-4f8b-a51c-3f21177b19dc fwd=“95.88.203.176”dyno=connect=service=status=503字节=protocol=https

我使用以下命令检查dyno是否正在运行:

heroku ps

结果:

没有迪诺斯⬢ 无限天空81114

然后我运行以下命令来启动dyno:

heroku ps:scale web=1

结果:

缩放dynos...!无法找到该进程类型(web)。

因为没有dyno,所以应用程序无法运行——但我无法启动dyno。

我怎样才能做到这一点?

共有3个答案

国景铄
2023-03-14

看起来你正试图部署一个WAR文件。如果没有web服务器,则无法运行WAR文件。你有两个选择:

  1. Spring Boot可以将应用程序与嵌入式web服务器捆绑在一起。这将完全避免这个问题
  2. 使用webapp runner,它将为您运行WAR文件。Heroku的Maven插件可以帮助您进行设置

我推荐第一种方法。Heroku对设置Spring boot应用程序有很好的演练。

潘宸
2023-03-14

创建Procfile,只需

web: java -Dspring.profiles.active=default -Dserver.port=$PORT -jar target/*.jar

另外,不要忘记通过执行heroku create将源代码添加到heroku到heroku git。这将把源代码放到heroku git中,当dynos构建完成时,它将从源代码部署应用程序。

下面是我的示例项目,它是将spring boot应用程序部署到云端的起点。https://github.com/reflexdemon/cloud-project

我还写了一篇关于将spring boot应用程序部署到heroku的博客。希望有帮助。https://blog.vpv.io/2018/02/undocumented-java-web-application.html

百里京
2023-03-14

假设您使用的是JAR,默认情况下将创建Procfile。你确定你的网络动态仍在运行吗?如果您使用的是cli,可以使用heroku ps查看状态。如果它说没有动态,你可以使用heroku ps:scale web=1放大,然后尝试heroku open启动应用程序。

如果你使用战争,你可以跟随https://devcenter.heroku.com/articles/war-deployment是的,你需要文件。

另外,在独立的tomcat上运行spring boot应用程序时,不要忘记遵循以下步骤https://docs.spring.io/spring-boot/docs/2.1.10.RELEASE/reference/html/howto-traditional-deployment.html

这里是一些屏幕截图,我在做Spring启动heroku集成。

 类似资料:
  • 我创建了一个spring boot web应用程序(在IntelliJ IDEA中),它在本地运行没有问题。 我试图将应用程序部署到heroku完全按照本走查中描述的步骤:https://devcenter.heroku.com/articles/deploying-spring-boot-apps-to-heroku 注意:演练没有提到Procfile,所以我没有创建Procfile。 当在浏览

  • 我的heroku服务器有这个问题 at=错误代码=H14 desc="没有运行Web进程" 我试图逃跑 heroku ps:scale web=1 但收到这个错误 扩展web进程。。。失败!没有像web这样的类型 Heroku ps: restart web.1--app dashboardaudi88重启web.1进程...完成 这是heroku的日志

  • 我试图将Spring Boot应用程序部署到Heroku,但我无法做到这一点。我的应用程序会自动检测为"heroku-maven-plugin",但我想将其部署为Java应用程序。 我怎样才能做到这一点?

  • 我正在Heroku上部署一个网站,但我在尝试运行“Heroku open”时收到了“应用程序错误”。 我相信我已经成功地将文件推送到Heroku中,这是我的“git推送heroku master”代码的一部分: 当我运行“heroku config-s | grep PATH”时,我得到了 我正在使用Ruby 1.9.3和Rails 4.0.0 文件夹 宝石环境 箱/轨道 垃圾箱/包裹 仓/耙

  • [错误]无法执行目标组织。阿帕奇。专家插件:maven编译器插件:3.8。1:在project Divi up后端上编译(默认编译):编译时出现致命错误:目标版本无效:15- 我得到了上面的错误,有人知道为什么会这样吗?

  • 问题内容: 我正在尝试在Heroku上使用Flask开发我的第一个“大型”应用程序,并尝试将此处的基本教程与以下说明结合:https : //devcenter.heroku.com/articles/python与以下说明:http:// flask.pocoo.org/docs/patterns/packages/#larger- applications。它在本地与“先行启动”一起工作,但是