我想知道是否可以从Web Java应用程序中在Heroku中运行非Web Java应用程序?基本上,我想执行一个命令来运行非WEB应用程序JAR:
在Heroku中调用类似的事情进行一个关闭过程:
Process proc = Runtime.getRuntime().exec("java -jar A.jar");
您可能不想从现有Java过程中执行新过程。相反,您应该在应用程序的Procfile
中创建一个新的过程类型,例如:
web: java -jar webapp-runner.jar yourapp.war
worker: java -jar A.jar
然后您可以从CLI heroku run worker
运行工作过程,也可以对HEROKU API进行HTTP调用。
我假设您正在使用heroku war:deploy
,这意味着您目前可能没有Procfile
。您可能需要切换到heroku jar:deploy
并手动将WebApp-Runner包含在您的应用中。