1

我有一个任务是在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 上运行。

4

0 回答 0