我正在尝试在Windows 7 x64系统上使用Eclipse设置JRI。我曾经在我的笔记本电脑上尝试过一次,但是效果很好。现在在我的桌面上,尽管R,rJava和JRI安装的所有内容完全相同,但是它失败了。
我将JRI和R路径正确设置为:C:\Program Files\R\R-2.15.1\library\rJava\jri;C:\Program Files\R\R-2.15.1\bin\x64
另外,我在Eclipse中设置R_DOC_DIR
等。
每次我尝试运行new Rengine(...);
时,它都会失败,没有任何错误或异常。调试显示一个:<terminated, exit value: 10>C:\Program Files\Java\jre6\bin\javaw.exe (01.10.2012 18:00:31)
有什么我可以尝试的吗?尽管到处都有相同的设置,但确实让我感到困扰的是,它可以在笔记本电脑上工作,但不能在工作站上工作。
编辑:用于获取Rengine对象的代码。
public static Rengine getRengine(){
if (re == null) createRengine();
return re;
}
public static void createRengine(){
if (re!=null) return;
try{
if (!Rengine.versionCheck()) {
System.err.println("** Version mismatch **");
System.exit(1);
}
String[] arguments = {"--save"};
re=new Rengine(arguments, false, null);
if (!re.waitForR()) {
System.out.println("Cannot load R");
return;
}
}
catch (Exception e){
e.printStackTrace();
}
}
编辑:上一次我尝试它得到一个错误消息(REngine的创建工作,这从未发生过),R缺少注册表项。再次安装R 2.15.1后,它突然工作了。现在,重新启动后与之前相同。程序在创建REngine时崩溃。
最佳答案
我遇到了完全相同的问题。事实证明,我没有选中要求使用R版本号进行注册表项的框。一旦我让安装程序在选中该复选框的情况下运行,它似乎可以工作。
我将确保您的regedit如下所示:
下一步:以可移植的方式工作...