Tôi đã đấu tranh với vấn đề này trong một thời gian. Khi tôi cài đặt rJava từ R, phải mất Java 1.6 thay vì 1.8. Tôi đang sử dụng MAC OS 10.8.5 và đây là các bước mà tôi đã thực hiện.rJava không chọn đúng phiên bản Java
Tôi đã cài đặt R.
Tôi có cả Java 1.6 và 1.8 trên máy của mình.
Tôi đã định cấu hình lại R từ thiết bị đầu cuối bằng cách sử dụng: sudo R CMD javareconf -n
.
Đây là những gì đầu ra trông giống như:
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
cố gắng để biên dịch và liên kết một progam 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
Sau đó, tôi tiếp tục nghiên cứu và cài đặt rJava gói như nguồn như thế này: install.packages("rJava", type="source")
và tôi nhận được DONE(rJava)
sau đó khi tôi kiểm tra phiên bản sử dụng:
library(rJava) .jinit() .jcall("java/lang/System", "S", "getProperty", "java.runtime.version")
tôi vẫn nhận được 1.6.0_25-b17
thay vì 1.8
Xin vui lòng cho tôi biết nếu bạn biết giải pháp này.
Bạn đã thử 'các tùy chọn (java.home ="/path/to/java ")'? –
'javareconf -n' không làm gì cả -' -n' yêu cầu không thực hiện bất kỳ thay đổi nào (xem tài liệu R) –