有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

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


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


共 (1) 个答案

  1. # 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
    

    这样,在系统中,您将拥有Java9,而对于R,您将拥有1.8