2015-01-25 13 views
8

Ich habe seit einiger Zeit mit diesem Problem zu kämpfen. Wenn ich rJava von R installiere, benötigt es Java 1.6 statt 1.8. Ich benutze MAC OS 10.8.5 und das sind die Schritte, die ich bereits getan habe.rJava nimmt nicht die richtige Java-Version an

Ich habe installiert R.
Ich habe sowohl Java 1.6 und 1.8 auf meinem Rechner.
Ich habe R von Terminal rekonfiguriert mit: sudo R CMD javareconf -n.
Hier ist, was die Ausgabe wie folgt aussieht:

 
Java interpreter : /usr/bin/java 
Java version  : 1.8.0_25 
Java home path : /Library/Java/JavaVirtualMachines/jdk1.8.0_25.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 

versucht, eine JNI Progamm

 
detected JNI cpp flags : -I$(JAVA_HOME)/../include -I$(JAVA_HOME)/../include/darwin 
detected JNI linker flags : -L$(JAVA_HOME)/lib/server -ljvm 
gcc -arch x86_64 -std=gnu99 -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/../include -I/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/../include/darwin -I/usr/local/include -fPIC -mtune=core2 -g -O2 -c conftest.c -o conftest.o 
gcc -arch x86_64 -std=gnu99 -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 -L/usr/local/lib -o conftest.so conftest.o -L/Library/Java/JavaVirtualMachines/jdk1.8.0_25.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_25.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 

Dann ging ich zu R auf und installierte rjava Paket als Quelle wie diese zu kompilieren und verknüpfen: install.packages("rJava", type="source") und ich bekomme DONE(rJava)

dann wenn ich die Version überprüfen mit:

 
library(rJava) 
.jinit() 
.jcall("java/lang/System", "S", "getProperty", "java.runtime.version") 

ich immer noch 1.6.0_25-b17 statt 1.8

Bitte lassen Sie mich wissen, wenn Sie die Lösung dieses Problems kennen.

+1

Haben Sie versucht 'Optionen (java.home ="/Pfad/zu/Java ")'? –

+1

'javareconf -n' tut nichts -' -n' sagt ihr, dass sie keine Änderungen vornehmen soll (siehe R-Dokumentation) –

Antwort

8

Neueste Version von rJava hat dieses Problem behoben. Ich installierte neueste Version von site Befehl

install.packages("rJava",,"http://rforge.net/",type="source")

der Ausgang nun durch Jvm Aufruf ist als:

> library(rJava) 
> .jinit() 
> .jcall("java/lang/System", "S", "getProperty", "java.runtime.version") 
[1] "1.7.0_75-b13" 

Anmerkung: Ich habe Java 1.7 und 1.6 installiert ist, und nicht Java 1.8

+0

Wenn du packrat verwendest und keine Probleme mit externen Repositories haben willst, empfehle ich dasselbe aber mit dem offiziellen CRAN Repo 'install.packages (" rJava ",," http://cran.r-project.org ", type =" source ")' – Mikolaj

Verwandte Themen