java - 从 Java 在 Rserve 中执行库时出错

标签 java r rjava rserve

当我开始Rserve来自 RStudio并尝试使用 RSclient 连接到 Rserve,如下面的代码所示:

#Loading Libraries
library(Rserve)
library(RSclient)

#Loading Rserve
Rserve(args='--no-save --slave')

#Open Connection to Rserve and Executing openNPL
conn <- RS.connect(port=6311)
RS.eval(conn,library(openNLP))

一切正常。

但是如果我尝试从命令行启动 Rserve(模拟 Java 的功能)。作为代码:

#loading Rserve from command line, to simulate what java does.
#Using Mac OS 10.10.2
/Library/Frameworks/R.framework/Resources/bin/R CMD /Library/Frameworks/R.framework/Versions/3.2/Resources/library/Rserve/libs//Rserve --no-save --slave --RS-port 6311

#in RStudio
#Loading Rclient
library(RSclient)

#Loading Rserve
Rserve(args='--no-save --slave')

#Open Connection to Rserve and Executing openNPL
conn <- RS.connect(port=6311)
RS.eval(conn,library(openNLP))

我在 RStudio 中收到此错误:

rsc_abort: connection closed by peer
Error in RS.eval(conn, library(openNLP)) : 
  read error - could not obtain response header

命令行中的这个错误:

  Invalid memory access of location 0x110 rip=0x7fff8ea0d5d2

Herehere有类似问题引用。我原来的问题是 RJDBC , 不适用于 openNLP , 似乎两者都有 rJava共同点。我在这里使用 openNLP,因为它很容易模拟,不需要数据库连接。关于如何解决这个问题的任何线索?

最佳答案

确保为您的 R CMD 设置完全相同的参数。确保检查 RStudio 是否使用完全相同的 Java 版本。

至于内存设置,你总可以用这招

export _JAVA_OPTIONS="-Xmx=2G"

设置 JVM 可用的内存大小。使用 _JAVA_OPTIONS,您可以强制执行将由 JVM 使用的设置。

关于java - 从 Java 在 Rserve 中执行库时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30552876/

相关文章:

r - 从具有指定样本量的组中进行简单随机抽样

r - 在 R markdown 中批量创建文档

rjava - rJava对JDK的依赖

java - 循环使圆变大

java - 如何在 Eclipse 插件中的 IProgressMonitor 中设置精确工作?

r - 如何在R中构造螺旋矩阵?

r - 在 Windows 中需要 rJava 的问题

java - 将绘图从 R 调用到 Java 应用程序中

java - Android读取大文件

java - 设置混淆后从 Eclipse 运行 Android 应用程序