我正在尝试在 Heroku 上部署我的 Java EE 后端应用程序,但我不确定我需要在我的 Procfile 中放入什么。我正在按照教程进行操作,但是当我尝试使用 : heroku local
或heroku local web
部署(本地)时,它会失败。
我尝试了web: java -jar target/muffinmap-backend.jar
,但我在任何地方都没有.jar文件(似乎),并且出现错误:Error: Unable to access jarfile target/muffinmap-backend.jar
。
有一个战争文件,但我认为我不应该使用它(至少与上面的方式不同),因为当我尝试web: java -jar target/muffinmap-backend.war
时,我得到了no main manifest attribute, in target/muffinmap-backend.war
这是可以理解的,因为它不是.jar文件。
所以,现在我不确定如何解决这个问题,我开始怀疑这是否可能。
如果需要更多上下文,只需评论,我会尝试添加它。
我希望有人能帮助我。提前谢谢。
阅读本指南,在 Heroku 上部署 WAR 文件 https://devcenter.heroku.com/articles/war-deployment
它准确地回答了您的问题。有几种方法可以将 WAR 文件部署到 Heroku。如果使用 Git 进行部署,则可能需要包含 webapp-runner。但您也可以直接部署 WAR 文件,这不需要Procfile
。
如果你真的需要JEE功能,你需要使用像Wildfly Swarm这样的东西。但是如果你只需要一个Servlet容器,webapp-runner就是你要走的路。