将Java .war应用程序部署到Heroku

ero*_*gol 3 java deployment war heroku

你知道有关向Heroku部署java war app的任何教程,还是可能的?

谢谢...

小智 14

实际上有时使用谷歌实际上并没有那么多帮助.在heroku上部署Java war是一种痛苦,而且所概述的步骤并不是很好.

基本上heroku只运行普通的java进程,因此你需要将war文件包装在主java文件中.这篇博客文章在Heroku上部署战争概述了一些步骤,你还需要参考heroku的文档来实际找出从git到heroku的最终推送.

以下是您需要遵循的步骤(我假设您有一个准备好的战争文件).

  1. 您需要从war文件构建jar文件,以便将Jetty嵌入其中,并且它是一个可运行的jar文件.这在步骤2中完成.
  2. 在pom.xml中创建maven app汇编程序目标.博客文章中还有一个示例代码段,也包含在Web上的其他各个部分.假设这叫做mywebapp.jar.(它必须是一个罐子)
  3. 现在你有一个war文件,你需要创建一个主程序来加载这个war文件并创建一个jetty进程.记住heroku只能运行java进程,所以你在这里调用jetty作为一个直接的过程.查看博客文章中的示例 - 例如,调用此StartWebApp.java.
  4. Heroku需要一个简单的proc文件,它几乎是样板文件.例如:

web:sh target/bin/webapp

将所有内容上传到git存储库,以便您可以轻松地推送到heroku - 使用此目录结构:

pom.xml
Procfile
src/main/java/root - StartWebApp.java
src/main/resources - mywebapp.jar
Run Code Online (Sandbox Code Playgroud)

在推送到heroku之后的繁荣(假设你有一个雪松堆栈,所有设置如上面heroku链接中所述).

git push heroku master
Run Code Online (Sandbox Code Playgroud)

快乐的herokuing.另外你可以说这对于部署战争来说太荒谬了.如果您使用heroku(作为付费客户),请提交功能请求以使其更好.为您的平台创建一个跑步者类是一个很大的难题.