我有一个任务是在java中运行R脚本,所以我使用了JRI库来解决这个问题,我需要从jsp调用它,所以我写了一个页面简单地调用
Runtime.getRuntime().exec("java -Djava.library.path=/home/XXX/R/x86_64-pc-linux-gnu-library/2.15/rJava/jri/ -cp /home/XXX/R/x86_64-pc-linux-gnu-library/2.15/rJava/jri -jar /home/XXX/MyJar.jar")
这个方法 -> re.waitForR() 总是返回 false
Rengine re = new Rengine(new String[] { "--vanilla" }, false, null);
if (!re.waitForR()) {
System.out.println("Cannot load R");
return;
}
但是当我用控制台运行时
java -Djava.library.path=/home/XXX/R/x86_64-pc-linux-gnu-library/2.15/rJava/jri/ -cp /home/XXX/R/x86_64-pc-linux-gnu-library/2.15/rJava/jri -jar /home/XXX/MyJar.jar
很好,没有发生错误!
我能怎么做?
PS。我的 Jsp 在 Jetty 上运行。