Dieses Problem hat mich seit einer Woche geplagt. Ich habe rJAVA von R installiert, das auf einem Ubuntu-Server 14.04 läuft. Ich installierte rjava Paket als Quelle wie folgt aus:rJAVA falsche Java-Version
install.packages("rJava", type="source")
und ich bekomme:
DONE(rJava)
ich java-8-openjdk
installiert haben und wenn java -version
läuft ich die richtige Version und dies ist die Ausgabe:
openjdk version "1.8.0_91"
OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-0ubuntu4~14.04-b14)
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)
Allerdings, wenn ich die Java-Version in R unter Verwendung von entweder
überprüfenoder
library(rJava)
jinit()
.jcall("java/lang/System", "S", "getProperty", "java.runtime.version")
Die Java-Version ist noch auf 1,7:
Java interpreter : /usr/lib/jvm/default-java/jre/bin/java
Java version : 1.7.0_101
Java home path : /usr/lib/jvm/default-java
Java compiler : /usr/lib/jvm/default-java/bin/javac
Java headers gen.: /usr/lib/jvm/default-java/bin/javah
Java archive tool: /usr/lib/jvm/default-java/bin/jar
trying to compile and link a JNI program
detected JNI cpp flags : -I$(JAVA_HOME)/include
detected JNI linker flags : -L/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server -ljvm
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -I/usr/lib/jvm/default-java/include -fpic -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g -c conftest.c -o conftest.o
gcc -std=gnu99 -shared -L/usr/lib/R/lib -Wl,-Bsymbolic-functions -Wl,-z,relro -o conftest.so conftest.o -L/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server -ljvm -L/usr/lib/R/lib -lR
JAVA_HOME : /usr/lib/jvm/default-java
Java library path: /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server
JNI cpp flags : -I$(JAVA_HOME)/include
JNI linker flags : -L/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server -ljvm
Updating Java configuration in /usr/lib/R
Done.
Bitte lassen Sie mich wissen, was ich fehle.
Ändern Sie die Umgebungsvariable 'JAVA_HOME' in das Verzeichnis' java-8 jvm'. – Abdou
@abdou Danke. Wenn ich $ JAVA_HOME widerspreche, bekomme ich /usr/lib/jvm/java-8-openjdk-amd64 –
Chris, Dirks Antwort ist ziemlich umfassend. Ich bin überrascht, dass es das Problem nicht löst. Sie können jedoch versuchen, die Variable 'JAVA_HOME' in der Datei .Rprofile auf das Verzeichnis' java-8 jvm' zu setzen. Ich bezweifle wirklich, dass es viel Unterschied machen wird, aber es ist zumindest etwas, das man versuchen sollte. – Abdou