Heroku Java WAR 正在运行的应用程序现在失败了:"Unable to access jarfile webapp-runner-7.0.40.0.jar"

Heroku Java WAR app that was working now failing: "Unable to access jarfile webapp-runner-7.0.40.0.jar"

我们的 Java WAR 应用程序 - 只是一个无状态 Java 网络服务 - 过去 3 年在 Heroku 上 运行 很好,但经过一些 activity 大概是由 Heroku 在周五发起的:

heroku-postgresql: Update HEROKU_POSTGRESQL_RED by heroku-postgresql

应用程序现在会在 dyno 重启时记录此错误:

2017-08-14T19:37:10.491690+00:00 heroku[web.1]: Starting process with command `${PRE_JAVA}java ${JAVA_OPTS} -jar webapp-runner-7.0.40.0.jar --port ${PORT} ${WEBAPP_RUNNER_OPTS} cv-services-1.0.0.war`
2017-08-14T19:37:12.584664+00:00 heroku[web.1]: State changed from starting to crashed
2017-08-14T19:37:12.585526+00:00 heroku[web.1]: State changed from crashed to starting
2017-08-14T19:37:12.575166+00:00 heroku[web.1]: Process exited with status 1
2017-08-14T19:37:12.503570+00:00 app[web.1]: Unable to access jarfile webapp-runner-7.0.40.0.jar

和returns 503(服务不可用)错误。

Heroku支持说说问题:

falls outside the nature of the Heroku Support policy

如果您遇到并解决了此类问题 - 特别是最近 - 或者有见识请回答。

PS

heroku 信息输出:

Addons:         heroku-postgresql:dev
Auto Cert Mgmt: false
Dynos:          web: 1
Git URL:        https://git.heroku.com/xxxxxx.git
Owner:          xxxxxx@xxxxxx.com
Region:         eu
Repo Size:      0 B
Slug Size:      0 B
Stack:          cedar
Web URL:        https://xxxxxx.herokuapp.com/

我不确定到底是什么问题,但是 Heroku cedar 堆栈 (a.k.a.Cedar-10) 是 shutdown 2 years ago。您可以按照步骤更新您的应用程序,但我认为您最好创建一个新应用程序,您可以使用以下命令执行此操作:

$ heroku create
$ heroku plugins:install heroku-cli-deploy
$ heroku deploy:war cv-services-1.0.0.war

这假定您有 cv-services-1.0.0.war 文件的副本。 deploy:war 命令会将其部署在最新的 (heroku-16) 堆栈上,最新的 Java (8) 和最新的 Tomcat (8.5).