错误信息:
library(xlsx)
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 : .onLoad failed in loadNamespace() for ‘xlsx’, details:
call: .jinit()
error: JNI_GetCreatedJavaVMs returned -1
原因是调用.jinit()时出现问题
- 首先要保证安装了java环境,终端里java -version查看,若没安装请先安装,若已经安装了java环境,仍然出现这个问题->
- 看到有些文章的解决办法是设置java路径:
设置JAVA_HOME变量
在 .bash_profile中加入一行
export JAVA_HOME=$(/usr/libexec/java_home)
但这个办法在我这里并没有起到效果 - 最终的解决办法是:
终端输入:
sudo ln -s $(/usr/libexec/java_home)/jre/lib/server/libjvm.dylib /usr/local/lib
sudo R CMD javareconf
R中重新尝试
install.packages("rJava",type='source')
重新启动R程序
测试是否正确:
library(rJava)
.jinit()
不再报错了
接下来可以正常使用library(xlsx)了
参考链接:
How does one configure rJava on OSX to select the right JVM — .jinit() failing
Cannot load R xlsx package on Mac OS 10.11
在MAC上安装Oracle JDK
Linux bash_profile文件介绍