2017-10-10 33 views
-1

我试图从Javascript文件执行Jar文件以获取控制台输出。我都推到文件的Heroku,但是当我尝试调用JS文件的功能,我得到这个错误:Heroku从Javascript运行Jar

/bin/sh: 1: java: not found exec error: Error: Command failed: java -jar -Xms1024m MongoConnector-all abaabaa

[31merror[39m: RangeError: Maximum call stack size exceeded

这是我的代码:

const runCoreSearch = function(searchInputString) { 
    const exec = require('child_process').exec; 
    //child = exec('/usr/bin/java -jar ~/Applications/Mongo Connector-all.jar' + rakeInputString, 
    const child = exec('java -jar -Xms1024m MongoConnector-all ' + searchInputString, 
    function (error, stdout, stderr){ 
... 

在他们的网站(https://devcenter.heroku.com/articles/deploying-executable-jar-files)它说使用命令“heroku deploy:”,但我没有试图部署一个Java项目,只是从node.js项目执行jar。有任何想法吗?

回答

2

你需要的heroku/jvm buildpack添加到您的应用程序,并重新部署:

$ heroku buildpacks:add heroku/jvm 
$ git commit -m "redeploy" --allow-empty 
$ git push heroku master 

这将安装java命令加入到赛道。