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

标签 java r rjava multiple-versions

似乎最新的 java 版本使得 rJava 无法加载或编译/安装。

有什么方法可以安装 java8 和 java9 并强制 rJava 或 R 使用 java8 版本吗?

<小时/>

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

最佳答案

看这里: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。

关于java - 使 rJava 或 R 使用不同的(以前的)Java 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46465618/

相关文章:

java - 如何创建和使用具有 Spring+JUnit 测试配置注释的自定义注释?

java - 正则表达式匹配带或不带千位分隔符java的货币

r - 使用 VGLM 的伪 R^2

c++ - RcppEigen 更快的协方差

java - rJava 没有在 R 中加载

java - 如何使用 Java Stream API(groupingBy 收集器)对列表中的值进行分组?

java - 如何计算当前在我的应用程序中打开的第三方应用程序的时间

r - R 中的隐式变量引用

r - R(NLP包)中的方法注释是否已被弃用或替换?

java - 加载 rJava 时出错