我想知道是否可以从 web java 应用程序中在 Heroku 中运行非 web java 应用程序?基本上我想执行一个命令来运行非网络应用程序 jar:
在 Heroku 中调用类似这样的过程:
Process proc = Runtime.getRuntime().exec("java -jar A.jar");
我想知道是否可以从 web java 应用程序中在 Heroku 中运行非 web java 应用程序?基本上我想执行一个命令来运行非网络应用程序 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 APIheroku run worker
进行 HTTP 调用。
我假设您正在使用heroku war:deploy
,这意味着您目前可能没有Procfile
。您可能需要手动切换到webapp-runnerheroku jar:deploy
并将其包含在您的应用中。