这个小代码尝试从JAVA启动Rserve:
import java.io.*;
import java.util.*;
class Test{
public static void main(String[] args) throws IOException, InterruptedException{
boolean debug = false;
Process p = Runtime.getRuntime().exec("R CMD Rserve");
p.waitFor();
}
}
这会在Windows上成功启动Rserve进程。但是在linux环境中,即使没有抛出异常,也无法启动Rserve。
我可以使用命令R CMD Rserve
从linux中的命令行启动Rserve。因此,R和Rserve的安装不是问题。
如何在Linux环境下从JAVA启动Rserve?
答案 0 :(得分:0)
在Linux环境中,shell处理您发出的命令。因此,Java需要调用shell可执行文件并告诉它执行R
命令及其参数。尝试将"R CMD Rserve"
更改为以下内容(将/bin/bash
替换为首选Linux shell的路径):
"/bin/bash -c 'R CMD Rserve'"
如果这不起作用,请尝试在单引号中指定R
可执行文件的完整路径。
答案 1 :(得分:0)
尝试使用:
Process p = Runtime.getRuntime().exec("R CMD Rserve --vanilla");
用于linux环境。