我有一个scala脚本(脚本是关于计算metrix),它包含在shell脚本中。我想在java中运行shell脚本。
它可以在Java控制台中成功运行(在Java项目中运行成功)。 但是当我新建一个Web项目时,我将相同的代码放在一个新的java类中,它无法运行。
我需要在休息网络服务中使用该输出,如何才能成功获得结果?
public class Return {
public static void main(String[] args) {
String s = null;
try {
String[] command = { "/Users/glange/hello.sh"};
Process p = Runtime.getRuntime().exec(command);
BufferedReader stdInput = new BufferedReader(new
InputStreamReader(p.getInputStream()));
while ((s = stdInput.readLine()) != null) {
System.out.println(s);
}
System.exit(0);
}
catch (IOException e) {
e.printStackTrace();
}
}
}
我已经测试了运行简单命令行的代码,例如ping google.com(进程p = Runtime.getRuntime()。exec(“ping google.com”);它运行良好,所以不是问题的代码。 这意味着我不能在web项目中调用那个scala脚本(包含在shell脚本中)?
shell脚本在这里,实际上它是用scala编写的spark作业。它在java项目中运行良好,但在web项目中无法工作,我卡住了,请帮帮我。
/Users/glange/spark/bin/spark-submit --class predictlabel target/scala-2.10/simple-project_2.10-1.0.jar buildings.model Building31925.0.json