使rJava或R使用不同的(以前的)Java版本

时间:2017-09-28 09:28:01

标签: java r rjava multiple-versions

似乎最后一个java版本使rJava无法加载或编译/安装。

有没有办法安装java8和java9并强制rJava或R使用java8版本?

编辑:有人建议也许这个thread可以解决我的问题,但事实并非如此。因为我需要使用较低版本,而不是新版本。似乎可以告诉R在哪里是java_home,但我不知道如何。

1 个答案:

答案 0 :(得分:1)

在这里查看:R, Java, rJava and macOS adventures和此处:R 3.4, rJava, macOS and even more mess ;)

R,Java和适当的设置让每一件软件都很开心可能会很困难;)

您需要使用JAVA_HOME,R CMD javareconf,有时甚至可以从源代码编译rJava。

如果您只需要R的特定版本的Java,您可以随时玩这样的东西。

首先,获取JVM列表

/usr/libexec/java_home -V
Matching Java Virtual Machines (4):
    9, x86_64:  "Java SE 9" /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home
    1.8.0_144, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
    1.8.0_111, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home
    1.7.0_80, x86_64:   "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home

然后,在开始R

之前选择一个
-- start_R_with_Java_8.sh --
#!/bin/bash
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8.0_144)
export PATH=$JAVA_HOME/bin:${PATH}
R

这样,在系统中你将拥有Java 9,而对于R,你将获得1.8。