简体   繁体   English

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

[英]Make rJava or R to use a different (previous) Java version

It seems that the last java version makes rJava not able to load or compile / install. 似乎最后一个Java版本使rJava无法加载或编译/安装。

Is there any way I can have java8 and java9 installed and force rJava or R use the java8 version? 有什么办法可以安装java8和java9并强制rJava或R使用java8版本?


Edit: It's been suggested that perhaps this thread is the solution to my problem, but it isn't. 编辑:有人建议,也许这个线程是我的问题的解决方案,但事实并非如此。 Since I need to use a lower version, not the new one. 由于我需要使用较低版本,而不是新版本。 Seems that it's possible to tell R where is the java_home, but I don't know how. 似乎可以告诉R java_home在哪里,但是我不知道如何。

Take a look here: R, Java, rJava and macOS adventures and here: R 3.4, rJava, macOS and even more mess ;) 看看这里: R,Java,rJava和macOS历险记,以及这里: R 3.4,rJava,macOS以及更多混乱;)

R, Java and proper settings that make every piece of software happy can be a struggle ;) R,Java和使每个软件都满意的适当设置可能很麻烦;)

You need to play with JAVA_HOME, R CMD javareconf, and sometimes even compilation of rJava from sources. 您需要使用JAVA_HOME,R CMD javareconf,有时甚至需要从源代码编译rJava。

If you need a specific version of Java just for R, you can always play with something like this. 如果只需要R的特定版本的Java,则可以始终使用类似的方法。

First, get the list of JVMs 首先,获取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

Then, pick one just before starting R 然后,在开始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

This way, in system you will have Java 9, while for R, you will have 1.8. 这样,在系统中您将拥有Java 9,而对于R,您将拥有1.8。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM