rJava加载错误-“预期的字符向量”

nb1*_*nb1 1 jvm r rjava

我正在使用64位Windows 7和64位R 3.2.0。我已经下载了rJava软件包,但是它给出了如下错误。

错误:.onLoad在'rJava'的loadNamespace()中失败,详细信息:
调用:dirname(this $ RuntimeLib)错误:预期使用字符向量参数另外:警告消息:软件包'rJava'是在R版本3.2.2下构建的错误:“ rJava”的程序包或名称空间加载失败

我在stackoverflow上搜索了答案,并执行以下操作:

1)将jvm.dll文件添加到我的PATH变量中,即在以下目录中:

C:\Program Files\Java\jdk1.8.0_25\jre\bin\
Run Code Online (Sandbox Code Playgroud)

2)我正在使用64位R 3.2.0,并检查JVM版本是否为64位,请在命令行中键入以下内容:

java -d64 -version
Run Code Online (Sandbox Code Playgroud)

它给出了以下输出:

C:\Users\xyz> java -d64 -version
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b18)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
Run Code Online (Sandbox Code Playgroud)

因此,至少JVM与R匹配。

那么还需要做更多的rJava工作吗?我还检查了我的PATH变量,看来还可以。

ACh*_*ony 5

我知道这为时已晚,但是您是否尝试过将R版本切换为诊断步骤?

对于RStudio 1.0.136:工具->全局选项...->常规:R版本:更改-选择32位。

更改版本对我有用,并提示我重新访问Java安装。(最终仅使用R32)

使用R64遇到了相同的错误:

Loading required package: XLConnectJars
Error : .onLoad failed in loadNamespace() for 'rJava', details:
  call: dirname(this$RuntimeLib)
  error: a character vector argument expected
Error: package ‘XLConnectJars’ could not be loaded
Run Code Online (Sandbox Code Playgroud)

使用计算机的默认R64在Windows 10上运行RStudio。


sta*_*lol 5

你必须指定jdk在哪里。例如:
Sys.setenv(JAVA_HOME='C:\\Program Files\\Java\\jdk1.8.0_161')

那么它应该可以工作。