【问题标题】:Running R script from java - Rconnection eval exception从java运行R脚本 - Rconnection eval异常
【发布时间】:2018-05-18 11:26:16
【问题描述】:

我该如何解决这个问题?我尝试清空缓存,重新安装 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

R 控制台日志中也出现了这个错误信息:

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

【问题讨论】:

    标签: java r rserve


    【解决方案1】:

    你还有这个问题吗?

    我也遇到了同样的问题,就是

    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/。 当您单击此链接并向下滚动到“存储库内容”时,它会以小字体写成“请使用 blah blah blah”。这就是“install.packages("Rserve,....)”的来源。

    我知道只有少数人(至少在网络世界中)遇到过或曾经遇到过这个问题,我花了 2 天时间解决这个问题。

    希望对你有所帮助。

    ps。 packageVersion() 可能因您使用的操作系统而异。

    【讨论】:

    • 关键是出现这个错误是因为Rserve的版本问题。
    猜你喜欢
    • 2018-09-22
    • 2014-03-03
    • 2015-01-09
    • 1970-01-01
    • 2013-11-22
    • 2013-10-24
    • 2011-02-04
    • 2013-05-03
    • 1970-01-01
    相关资源
    最近更新 更多