从java运行R脚本 - Rconnection eval异常

时间:2018-05-18 11:26:17

标签: java r rserve

我该如何解决这个问题?我试图清空缓存,重新安装R和Rscript。

connection = new RConnection();

String path = "source('" + rScript.getFile().getAbsolutePath() + "')";

connection.eval(path);
  

//此行中的错误org.rosuda.REngine.Rserve.RserveException:eval   失败

在源文件中,我有这段代码

functionName <- function(param1, param2, ...,  paramN){
  #some code here
}

如果我删除functionName&lt; - function(param1,param2,...,paramN){definition part - it works。

同样在R控制台日志中出现此错误消息:

  

错误:尚未支持长向量:qap_encode.c:36致命错误:   无法初始化JIT

1 个答案:

答案 0 :(得分:0)

你还有这个问题吗?

我确实遇到了同样的问题,即

Error: long vectors not supported yet: qap_encode.c:36 Fatal error: unable to initialize the JIT

我目前正在使用macbook(HighSierra)和R版本3.5.0以及java 1.8.0.151。

我如何解决此问题是要知道您的计算机上安装了哪个版本的Rserve。要检查Rserve的版本,请转到Rstudio并键入:

packageVersion("Rserve")

并且返回值将显示“Rserve”的版本。

如果返回值是1.7.3,那么我认为这是错误开始的地方。

如果Rserve的版本是1.7.3,请尝试升级您的Rserve版本。

install.packages("Rserve", "Rserve_1.8-6.tgz", "http://www.rforge.net/")

该指令也在“Rforge”网站上提到: http://www.rforge.net/Rserve/files/。 当您单击此链接并向下滚动到“存储库内容”时,它将以小字体大小写“请使用等等等等”。这就是“install.packages(”Rserve,....)“来自的地方。

我知道只有少数人(至少在线上世界)遇到过这个问题,我花了两天时间来解决这个问题。

希望这会对你有所帮助。

PS。 packageVersion()可以根据您使用的操作系统而有所不同。