【问题标题】:Deploying Java .war app to Heroku [closed]将 Java .war 应用程序部署到 Heroku [关闭]
【发布时间】:2012-03-26 12:07:03
【问题描述】:

你知道任何关于将 java war 应用程序部署到 Heroku 的教程吗?

谢谢...

【问题讨论】:

  • 您要使用哪个应用服务器?

标签: java deployment heroku war


【解决方案1】:

实际上,有时使用 Google 并没有太大帮助。在 heroku 上部署 Java 战争是一件痛苦的事,而且概述的步骤也不是很好。

基本上 heroku 只运行普通的 java 进程,所以你需要将你的 war 文件包装在一个主 java 文件周围。这篇博客文章Deploy war on Heroku 概述了一些步骤,您还需要参考heroku's documentation 才能真正弄清楚从 git 到 heroku 的最终推送。

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

  1. 您需要从您的 war 文件构建您的 jar 文件,以便将 Jetty 嵌入其中,并且可以说它是一个可运行的 jar 文件。这是在第 2 步中完成的。
  2. 在 pom.xml 中创建 maven 应用程序汇编器目标。博客文章中以及网络上的其他各个部分都有一个示例 sn-p。假设这称为 mywebapp.jar。 (必须是罐子)
  3. 现在你有了一个war文件,你需要创建一个主程序来加载这个war文件并创建一个jetty进程。请记住,heroku 只能运行 java 进程,因此您在这里将 jetty 称为直接进程。查看博客文章中的示例 - 例如调用此 StartWebApp.java。
  4. Heroku 需要一个简单的 procfile,它几乎是样板文件。例如:

web: sh 目标/bin/webapp

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

pom.xml
Procfile
src/main/java/root - StartWebApp.java
src/main/resources - mywebapp.jar

在推送到 heroku 之后繁荣(假设您按照上面指向 heroku 的链接中的描述设置了一个 cedar 堆栈)。

git push heroku master

快乐的herokuing。同样,正如您所见,这对于部署战争来说太过分了。如果您使用 heroku(作为付费客户),请提交功能请求以使其更好。为你的平台创建一个跑步者类是一个很大的禁忌。

【讨论】:

    【解决方案2】:

    你可以关注我博客中的this post,如果你想从你的 Spring MVC Web App 部署 WAR 文件,这里有一步一步的解释。我是在尝试在 Heroku 上启动并运行我自己的应用程序后编写的。

    【讨论】:

      【解决方案3】:

      在 Heroku 上你可以运行任何东西。所以你需要自带应用服务器。推荐的方法是在构建描述符中将其指定为依赖项。然后上传您的应用程序并构建描述符,以便 Heroku 可以组装所有内容(依赖项和所有内容)。但最终取决于您如何将这些东西提供给 Heroku。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-10-12
        • 2012-07-16
        • 1970-01-01
        • 2019-07-24
        • 2016-07-22
        • 2023-04-08
        • 2014-10-03
        相关资源
        最近更新 更多