Ошибка Java в MacOS Mojavew при загрузке пакета - PullRequest
0 голосов
/ 08 июля 2019

Я сталкиваюсь со знакомой ошибкой Java в r при загрузке library(xlsx) в Macos-Mojave.

Я попытался переустановить jdk-8 и sudo R CMD javareconf, как упомянуто здесь,

  1. https://github.com/rstudio/rstudio/issues/2254
  2. Ошибка загрузки rJava в RStudio / R после «обновления» до OSX Yosemite

Обратите внимание, что library(rjava) загружается нормально, но не работает на library(xlsx)

WARNING: Initial Java 12 release has broken JNI support and does NOT work. Use stable Java 11 (or watch for 12u if avaiable).
ERROR: Java exception occurred during rJava bootstrap - see stderr for Java stack trace.
Exception in thread "main" java.lang.NullPointerException
    at java.base/jdk.internal.reflect.Reflection.verifyMemberAccess(Reflection.java:130)
    at java.base/java.lang.reflect.AccessibleObject.slowVerifyAccess(AccessibleObject.java:673)
    at java.base/java.lang.reflect.AccessibleObject.verifyAccess(AccessibleObject.java:666)
    at java.base/java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:638)
    at java.base/java.lang.reflect.Field.checkAccess(Field.java:1075)
    at java.base/java.lang.reflect.Field.get(Field.java:416)
Error: package or namespace load failed for ‘xlsx’:
 .onLoad failed in loadNamespace() for 'xlsx', details:
  call: .jcheck(silent = FALSE)
  error: java.lang.NullPointerException.jcall(f, "Ljava/lang/Object;", "get", .jcast(ic, "java/lang/Object"))new("jobjRef", jobj = <pointer: 0x11d737c38>, jclass = "java/lang/NullPointerException")

Может кто-нибудь направить решение здесь. Большое спасибо.

1 Ответ

0 голосов
/ 17 июля 2019

Основываясь на ответе @ Konrad, я сделал следующее, чтобы избавиться от всех версий, кроме Java 8.

Проверка существующих версий

/usr/libexec/java_home -V

Перейдите к той версии Java, которую необходимо удалить.

cd /Library/Java/JavaVirtualMachines

В пути JavaVirtualMachines введите ls, чтобы увидеть, какие версии Java существуют там. Это проявилось как

jdk-11.0.2.jdk      jdk-12.0.1.jdk      jdk1.8.0_211.jdk

удалены все, кроме 8.

sudo rm -rf jdk-11.0.2.jdk (and others)

library(xlsx) работает сейчас.

...