spring-boot - 错误 R10(启动超时)-> Web 进程未能在启动后 90 秒内绑定到 $PORT
问题描述
我正在尝试将我的 Spring Boot 应用程序部署到 Heroku,但我不断收到:
2018-05-06T14:41:35.181889+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 90 seconds of launch
2018-05-06T14:41:35.182093+00:00 heroku[web.1]: Stopping process with SIGKILL
2018-05-06T14:41:35.482221+00:00 heroku[web.1]: Process exited with status 137
2018-05-06T14:41:35.496155+00:00 heroku[web.1]: State changed from starting to crashed
我已经看到一些答案告诉我这么地方
server.port=${PORT:8080}
在我的应用程序属性中,但它仍然无法正常工作。
我看不到我能做的任何其他事情,也没有进一步的输出可以提示我找到问题的根源。
有任何想法吗?
解决方案
我知道这是一个非常古老的问题,但是收到此错误消息的人可能会在这里...所以我想分享我对这个问题的解决方案:
我一直在我的 Spring Boot 应用程序中使用 Maven Heroku 插件
<groupId>com.heroku.sdk</groupId>
<artifactId>heroku-maven-plugin</artifactId>
发生在我身上的是意外我的 POM 文件被重新格式化,因此 <processTypes> <web>-Tag 中的内容收到了一些换行符。
Heroku Maven 插件根据这些内容创建一个 Procfile。但是 Procfile 不能处理命令中的换行符。
因此,在几乎发疯之后,我发现换行符导致命令损坏,这在我的情况下导致了上述错误。
推荐阅读
- node.js - 为什么两个进程之间的管道数据在太大时似乎被截断?
- android - 使用 Firebase 的 orderbychild() 时不必要地获取大数据?
- perl - ServiceNow 的 Perl API 停止支持 TLS 1.0 和 1.1。是否有任何快速的 Perl 5.8 修复?
- c# - MVC 控制器的参数始终为空
- limit - Anylogic限制区域限制会导致错误并在模型崩溃时显示-1仍在限制范围内
- python - OpenCV w/Tkinter:滞后和窗口问题
- amazon-web-services - 寻找将分层文档放入 DynamoDB 的最佳方式
- google-chrome - android上的Chrome:touchevent不适用于实体点击
- python - 基本平方生成器给出错误的结果
- c++ - 使用静态 int 时 Visual Studio 2017 中的错误 LNK2001