RJava не подбирает правильную версию Java

Я уже некоторое время борюсь с этой проблемой. Когда я устанавливаю rJava из R, требуется 1,6 Java вместо 1.8. Я использую MAC OS 10.8.5, и это шаги, которые я уже сделал.

Я установил R.
У меня есть и Java 1.6, и 1.8 на моей машине.
Я переконфигурировал R из терминала, используя: sudo R CMD javareconf -n.
Вот как выглядит результат:

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

пытается скомпилировать и связать программу JNI

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

Затем я перешел к R и установил пакет rJava в качестве источника следующим образом: install.packages("rJava", type="source") и я добираюсь до DONE(rJava)

тогда, когда я проверяю версию, используя:

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

Я все еще получаю 1.6.0_25-b17 вместо 1.8

Пожалуйста, дайте мне знать, знаете ли вы об этом.

Ответ 1

Последняя версия rJava исправила эту проблему. Я установил последнюю версию из сайта с помощью команды

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

Теперь вывод с помощью вызова jvm выглядит так:

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

Примечание. Я установил java 1.7 и 1.6, а не java 1.8