Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何让rJava在OS X上使用不同的JRE?_Java_R_Macos_Rjava - Fatal编程技术网

如何让rJava在OS X上使用不同的JRE?

如何让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

我在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 : /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”
我也有这个问题。你解决了吗?