2017-08-30 107 views
0

我想知道是否有可能在Heroku中从web java应用程序中运行非web java应用程序?基本上,我想执行一个命令来运行非web应用程序的jar:在Heroku中运行第二个非web java应用程序

调用像这样在Heroku的一点关的过程:

Process proc = Runtime.getRuntime().exec("java -jar A.jar"); 

回答

0

你可能不想执行由新工艺现有的Java进程。相反,你应该建立在你的应用程序的Procfile一个新的流程类型,像这样:

web: java -jar webapp-runner.jar yourapp.war 
worker: java -jar A.jar 

然后你可以从CLI heroku run worker运行工作进程,也可以使一个HTTP调用Heroku API

我假设您使用的是heroku war:deploy,这意味着您目前可能没有Procfile。您可能需要切换到heroku jar:deployinclude webapp-runner in your app manually

+0

你知道你是否能够将论据传递给作品?像在命令行中执行jar时传递参数一样? –

+0

如果您想要自定义命令,您可以运行'heroku run“java -jar A.jar - 选择一个”'。 – codefinger

相关问题