2012-10-01 51 views
4

我想在Windows 7 x64系统上使用Eclipse设置JRI。我在我的笔记本电脑上试了一次,它工作。现在在我的桌面上,虽然R,rJava和JRI安装的所有内容都完全一样,但它仍然失败。新Rengine(...);失败,没有错误

我正确设置JRI和R路径到: C:\Program Files\R\R-2.15.1\library\rJava\jri;C:\Program Files\R\R-2.15.1\bin\x64

我设立R_DOC_DIR等在Eclipse。

每当我尝试运行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(); 
    } 
} 

编辑:我最后一次尝试它,我得到了一个errormessage的(创建REngine的工作,这事从来没有),R是缺少registryentry。再次安装R 2.15.1之后,它突然开始工作。现在重新启动后,它和以前一样。该程序在创建REngine时崩溃。

+0

请提供可重复的例子... –

+0

你的意思是我使用的代码的例子吗? – cokir

+0

一段代码,它将使我们能够重现您的问题。 –

回答

0

我有完全相同的问题。事实证明,我没有选中要求使用R版本号创建注册表项的框。一旦我让安装程序运行并检查了该框,它似乎就可以工作。

我会确保你的注册表编辑器看起来是这样的: Screencap of regedit

下一个:得到一个可移植的方式这方面的工作...

0

我,使用R 3.2.2和Windows 10日食火星64。

我今天遇到了上述问题,并尝试了一下。最后,我在构建路径中找到了根本原因。请检查下面的条件是否满足:

1)从JIRI文件夹在您的硬盘下面的Java库应作为(用户)库:

  • JIRI.jar
  • REngine的.jar
  • JRIEngine.jar

2.)本机库jiri.dll位于子文件夹 “I386” 用于x86,wherea对于x64,它在子文件夹“x64”中可用。相关的应该作为单独的原生库位置添加到eclipse项目的Java Build Path中。否则,该文件可能不被考虑,因为它不在主JIRI文件夹中。

问候

菲利普