R语言导入xlsx包错误:调用.jinit()时出现问题

错误信息:

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()时出现问题

  1. 首先要保证安装了java环境,终端里java -version查看,若没安装请先安装,若已经安装了java环境,仍然出现这个问题->
  2. 看到有些文章的解决办法是设置java路径:
    设置JAVA_HOME变量
    在 .bash_profile中加入一行
    export JAVA_HOME=$(/usr/libexec/java_home)
    但这个办法在我这里并没有起到效果
  3. 最终的解决办法是:

终端输入:

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文件介绍

你可能感兴趣的:(数据分析)