错误 R10(启动超时)> Web 进程无法在启动后 90 秒内绑定到$PORT



我正在尝试将我的 Spring 启动应用程序部署到 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 启动应用程序中使用 Maven Heroku 插件

<groupId>com.heroku.sdk</groupId>
<artifactId>heroku-maven-plugin</artifactId>

发生在我身上的是,我的POM文件意外地被重新格式化,因此-Tag中的内容收到了一些换行符。

Heroku Maven插件从这些内容中创建一个Procfile。但是,Procfile 无法处理命令中的换行符。

因此,在几乎发疯之后,我发现换行符导致命令损坏,这在我的情况下导致了上述错误。

最新更新