Heroku一旦部署就运行Jar文件?

Posted

技术标签:

【中文标题】Heroku一旦部署就运行Jar文件?【英文标题】:Heroku run Jar file once deployed? 【发布时间】:2018-09-18 20:59:20 【问题描述】:

我已将我的 jar 文件部署到 heroku,使用:

heroku deploy:jar <filename>.jar --app <appname>

部署后,如何使用特定参数运行 jar 文件,即在本地执行:

java -jar <filename>.jar <param1> <param2>

我是否正确使用 Heroku 服务?本质上,我只需要在 jar 文件中运行 Main 命令并在完成后获取日志。

任何帮助将不胜感激。

【问题讨论】:

这对你有帮助吗:***.com/questions/49733324/… 【参考方案1】:
heroku deploy:jar <filename>.jar --app <appname>

有了这个你基本上是硬编码的:

jar <filename>.jar

这是一个可以为命令配置参数的示例

https://github.com/NNTin/shell-kun/tree/6b35e4b731bcf500366f60bbceafe076bf969fe1

注意:我们在这里查看的是较旧的软件,因为 HEAD 不再拥有它。

您需要Procfileapp.json 和 Heroku Deploy(参见README.md 中的链接)按钮是可选的。它们使部署更容易,因为您不必触摸终端/CLI。

基本上你将你的 Procfile 扩展为:

web: jar <filename>.jar $ARGS_AND_FLAGS
worker: jar <filename>.jar $ARGS_AND_FLAGS

web 当你使用 $PORT 时,worker 当不使用时。

现在您可以通过编辑环境变量ARGS_AND_FLAGS来修改您的命令。

在这种情况下,Web 进程被激活而工作进程被停用。

更改环境变量后,您可以停用然后再激活您的进程。

【讨论】:

【参考方案2】:

在您运行heroku deploy:jar 的同一目录中创建一个Procfile,其内容为:

web: java -jar <filename>.jar <param1> <param2>

并重新部署应用程序。

【讨论】:

以上是关于Heroku一旦部署就运行Jar文件?的主要内容,如果未能解决你的问题,请参考以下文章

将 java spring-boot app *.jar 与根文件夹中的其他文件一起部署到 heroku

从子文件夹自动部署heroku

Linux部署jar文件以及redis安装与防火墙的使用

jhipster - 将应用程序部署到 Heroku 后无法运行本地开发配置文件

在 Heroku 上运行预部署 Grunt 任务

如何解决在 Heroku 上部署 React 应用程序时出现的错误