如何在OSX上配置rJava以选择正确的JVM - .jinit()失败

use*_*468 14 java r rjava

我通过调用install.packages("rJava")来安装rJava - 没有看到任何问题

但是当我打电话时:

library(rJava)
.jinit() 
Run Code Online (Sandbox Code Playgroud)

我明白了:

JavaVM: requested Java version ((null)) not available. Using Java at "" instead.
JavaVM: Failed to load JVM: /bundle/Libraries/libserver.dylib
JavaVM FATAL: Failed to load the jvm library.
Error in .jinit() : JNI_GetCreatedJavaVMs returned -1
Run Code Online (Sandbox Code Playgroud)

我正在运行OSX:

Darwin MBP-2 14.5.0 Darwin Kernel Version 14.5.0: Tue Sep  1 21:23:09 PDT 2015; root:xnu-2782.50.1~1/RELEASE_X86_64 x86_64
Run Code Online (Sandbox Code Playgroud)

我安装了以下Sun JDK:

$ ls /Library/Java/JavaVirtualMachines/
jdk1.7.0_79.jdk jdk1.8.0_65.jdk
Run Code Online (Sandbox Code Playgroud)

我的PATH上有哪个Java:

$ which java
/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home//bin/Java
Run Code Online (Sandbox Code Playgroud)

我也将JavaHome定义为:

$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/
Run Code Online (Sandbox Code Playgroud)

小智 9

/sf/answers/2523170331/的答案在MacOS Sierra版本10.12上为我解决了这个问题.特别是,它在下面的命令1中提供了代码.

我使用的三个终端命令是:

  1. sudo ln -s $(/usr/libexec/java_home)/jre/lib/server/libjvm.dylib /usr/local/lib
  2. sudo R CMD javareconf
  3. install.packages("rJava",type='source')


Tim*_*ild 6

此解决方案 无法在Mac OS 10.11上加载R xlsx软件包

sudo R CMD javareconf

install.packages("rJava",type='source')
Run Code Online (Sandbox Code Playgroud)

为我工作