最近,我在尝试将Gradle Spring项目部署到HeroKu平台时遇到了“H14错误”。
错误:
code=H14 desc=“没有正在运行的Web进程”
在我的项目文件夹中,我有一个“Procfile”
web: java -jar build/server/webapp-runner-*.jar build/libs/*.war
web: java -jar target/ClockGUI-0.0.1-SNAPSHOT.jar
heroku ps:scale web=1
我已经研究了许多解决方案,但没有制定出来。
请帮帮我,谢谢你
1条答案
按热度按时间nvbavucw1#
您的
Procfile
至少有两个问题:*不能声明两个
web
进程。什么命令运行你的web服务器?这是唯一一个应该这样声明的命令。
(我不确定
ClockGUI-0.0.1-SNAPSHOT.jar
应该是什么,但假设“GUI”是指SWT、Swing或JavaFX之类的东西,那么它在Heroku上就不起作用了。界面会出现在哪里?)*您已包含Heroku CLI命令。
heroku ps:scale web=1
是一个命令,您可以在本地运行它来扩展应用程序的web dynos,而不应该将它集成到应用程序源代码中。考虑一个电子商务应用程序。在一年中的某些时候,你可能会看到流量的峰值。你可以使用这个命令来增加额外的web dynos来处理负载。这不需要(也不应该)重新部署应用程序。
删除这行代码,它在
Procfile
中没有任何作用。提交更新后的
Procfile
并重新部署。然后,如果您没有运行任何web dynos,请在终端中运行heroku ps:scale web=1
,最好是从您的项目目录运行,这样Heroku就可以推断出您想要扩展哪个应用。