Je peux charger les packages rJava et xlsxjars, mais le message "Impossible de charger la machine virtuelle" s'affiche lorsque j'exécute la bibliothèque (xlsx). Ci-dessous sont mes coordonnées.
Version du système d'exploitation:
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.11
BuildVersion: 15A284
Version Java:
$ Java -version
Java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
Chemin Java:
$ which Java
/usr/bin/Java
Java Home:
$ /usr/libexec/Java_home
/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home
Version R:
$ R --version
R version 3.2.3 (2015-12-10) -- "Wooden Christmas-Tree"
Copyright (C) 2015 The R Foundation for Statistical Computing
Platform: x86_64-Apple-darwin13.4.0 (64-bit)
Comment je lance R:
$ LD_LIBRARY_PATH=$(/usr/libexec/Java_home)/jre/lib/server: open -a RStudio
Charger les paquets rJava et xlsxjars avec succès:
> library(rJava)
> library(xlsxjars)
Essayer en vain de charger le paquet xlsx:
> 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
Error: package or namespace load failed for ‘xlsx’
R Configuration:
Matts-MacBook-Pro:~ matt$ R CMD javareconf
Java interpreter : /usr/bin/Java
Java version : 1.8.0_65
Java home path : /Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/jre
Java compiler : /usr/bin/javac
Java headers gen.: /usr/bin/javah
Java archive tool: /usr/bin/jar
Non-system Java on OS X
trying to compile and link a JNI program
detected JNI cpp flags : -I$(Java_HOME)/../include -I$(Java_HOME)/../include/darwin
detected JNI linker flags : -L$(Java_HOME)/lib/server -ljvm
clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/jre/../include -I/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/jre/../include/darwin -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include -fPIC -Wall -mtune=core2 -g -O2 -c conftest.c -o conftest.o
clang -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/usr/local/lib -o conftest.so conftest.o -L/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/jre/lib/server -ljvm -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
Java_HOME : /Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/jre
Java library path: $(Java_HOME)/lib/server
JNI cpp flags : -I$(Java_HOME)/../include -I$(Java_HOME)/../include/darwin
JNI linker flags : -L$(Java_HOME)/lib/server -ljvm
Updating Java configuration in /Library/Frameworks/R.framework/Resources
Malheureusement, ces astuces sur les liens symboliques ne m'ont pas aidé. Cependant, j'ai trouvé un problème similaire sur stackoverflow ! (où else;)) Celui-ci a fonctionné pour moi en procédant comme suit:
Dans le terminal, entrez ce qui suit pour relier Java correctement:
Sudo R CMD javareconf
Back in R (ou RStudio) installez le paquet rJava à partir du source:
install.packages("rJava",type='source')
J'espère que cela t'aides!
J'ai aussi des problèmes avec le chargement de paquets comme openNLP, xlsx, RWeka, ... et j'ai le même message d'erreur que vous. Mais finalement, cette commande a fonctionné pour moi sur OS X 10.11.3: Sudo ln -s $(/usr/libexec/Java_home)/jre/lib/server/libjvm.dylib /usr/local/lib
Il peut y avoir un problème dans la version de Java pour laquelle le paquet R xlsx a été intégré. Certains anciens logiciels exigent l’installation de Java 6 pour OS X 10.11 El Capitan, OS X 10.10 Yosemite, OS X 10.9 Mavericks, OS X 10.8 Mountain Lion et OS X 10.7 Lion. Vous pouvez donc essayer d’installer cette ancienne version de Java (Java pour OS X 2015-001) sur Apple, lien ci-dessous: https://support.Apple.com/kb/DL1572?locale=pt_BR&viewlocale=en_US
Et vérifiez si vous avez un Java SE Kit de développement 8). Vous pouvez le télécharger sur le site Web Oracle, lien ci-dessous: www.Oracle.com/technetwork/Java/javase/downloads/ jdk8-downloads-2133151.html
J'avais le même problème et le téléchargement de l'ancienne version de Java l'a résolu .. J'espère que cela vous aidera!
Fondamentalement, il suffit de faire ce qui est décrit ici: https://oliverdowling.com.au/2015/10/09/oracles-jre-8-on-mac-os-x-el-capitan/
version courte: d/l Java JRE d’Oracle sous forme de fichier tar http://www.Oracle.com/technetwork/Java/javase/downloads/jre8-downloads-2133155. html
puis mettez ceci dans votre terminal (pour Sudo, votre pw est nécessaire):
cd ~/Downloads
tar -xzf `ls -1r jre-*-macosx-x64.tar.gz | head -1`
cd `ls -1rd jre*/ | head -1`
defaults write `pwd`/Contents/Info.plist JavaVM -dict-add 'JVMCapabilities' '<array><string>JNI</string><string>BundledApp</string><string>CommandLine</string></array>'
plutil -convert xml1 Contents/Info.plist
Sudo mv `pwd` /Library/Java/JavaVirtualMachines/
mkdir -p Contents/Home/bundle/Libraries
cd Contents/Home/bundle/Libraries
ln -s ../../lib/server/libjvm.dylib libserver.dylib
fonctionne bien sur mon OS X 10.11