如何让rJava在OS X上使用不同的JRE?
我在OSX10.5上运行R3.2.4,安装了多个Java。我目前的默认安装是JDK 7。使用如何让rJava在OS X上使用不同的JRE?,java,r,macos,rjava,Java,R,Macos,Rjava,我在OSX10.5上运行R3.2.4,安装了多个Java。我目前的默认安装是JDK 7。使用R CMD javareconf似乎所有配置都正确: guhar@NCATS-1850784-M:~/src/cdkr [master*]$ R CMD javareconf JAVA_CPPFLAGS='-I/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/include/' Java interpreter : /Libra
R CMD javareconf
似乎所有配置都正确:
guhar@NCATS-1850784-M:~/src/cdkr [master*]$ R CMD javareconf JAVA_CPPFLAGS='-I/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/include/'
Java interpreter : /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/jre/bin/java
Java version : 1.7.0_71
Java home path : /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
Java compiler : /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/bin/javac
Java headers gen.: /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/bin/javah
Java archive tool: /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/bin/jar
System Java on OS X
trying to compile and link a JNI program
detected JNI cpp flags : -I/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/include/
detected JNI linker flags : -framework JavaVM
clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/include/ -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 -framework JavaVM -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
JAVA_HOME : /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
Java library path:
JNI cpp flags : -I/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/include/
JNI linker flags : -framework JavaVM
Updating Java configuration in /Library/Frameworks/R.framework/Resources
Done.
然后我安装了rJava 0.98,没有报告任何错误。但是,当我启动R并使用rJava
时,它表示java.version
系统属性(表示JRE版本)为1.6,即使java\u HOME
设置为我的JDK 7安装:
> library(rJava)
> .jinit()
> .jcall("java/lang/System","S","getProperty","java.version")
[1] "1.6.0_65"
是否需要在
rJava
侧设置一些内容,使其能够识别我的JAVA\u HOME
设置?或者这是需要在OS X环境中设置的内容?这可能有用,也可能没用:也许看看我也从来没能弄明白这一点。对于.jcall(“java/lang/System”、“S”、“getProperty”、“java.version”)
我得到[1]“1.6.0\u 65”,但是对于$java-version
(在终端命令行)我得到java版本“1.8.0\u 25”
我也有这个问题。你解决了吗?