首页 > 解决方案 > 如何在maven应用程序中使用heroku环境变量绑定http服务器

问题描述

你知道我需要将heroku http 端口放在我的网络应用程序的什么位置吗?

我能找到的唯一文档是:https ://devcenter.heroku.com/articles/setting-the-http-port-for-java-applications 但我不使用文档中的八个选项。我找不到任何 java maven Web 应用程序示例。我能找到的唯一例子是 node.js。

我只需使用以下方式部署我的应用程序:

heroku war:deploy warfile.war --app myproject

标签: javamavenherokuenvironment-variableswebapp-runner

解决方案


我知道两种解决方案:

1)在描述使用 Heroku CLI 配置 WAR 部署的 Heroku 开发中心网页上,您可以找到配置 Tomcat 选项WEBAPP_RUNNER_OPTS,该选项描述了通过在应用程序上设置配置变量来配置在服务器上执行 war 文件的方式的命令Webapp Runner: Options中描述的各种选项。您可能会发现默认--port设置为有趣的,8080并且可以配置如下:

heroku config:set WEBAPP_RUNNER_OPTS="--port=9090"

2)另一种解决方案是在 Heroku 开发中心Create a Java Web Application Using Embedded Tomcat

基本上,这意味着应用程序将使用依赖项在嵌入式 Tomcat 上启动。这提供了直接在项目的代码库中配置 Tomcat 的能力。

Tomcat tomcat = new Tomcat();
tomcat.setPort(Integer.valueOf("9090"))

// defining context and localizing resources

tomcat.start();
tomcat.getServer().await();

推荐阅读