R / RStudio,Yosemite和Java

我昨天升级到了OSX优胜美地。 当我在RStudio运行library(xlsx)时,程序崩溃并收到消息:“要打开’RStudio’,您需要安装旧的Java SE 6运行时。” 当我在R运行library(xlsx)时,我得到了关于打开R的相同结果和消息。

这是我的详细信息:

 Mac Yosemite, Version 10.10.2 R version 3.1.2 (2014-10-31) Platform: x86_64-apple-darwin13.4.0 (64-bit) 

我有Java版本8更新31.我运行java -version并收到此消息:“没有Java运行时,请求安装。” 所以我安装了Java SE Development Kit 8u31 。 现在:

 java -version java version "1.8.0_31" Java(TM) SE Runtime Environment (build 1.8.0_31-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode) 

这没有做到这一点,因为运行library(xlsx)仍然会崩溃程序并发出警告。 我是否需要以某种方式回滚到Java SE 6运行时,或者有没有办法使用我安装的最新版本?

这个SOpost似乎是相关的,但我不清楚安装Java 6的安装解决方案。答案链接到似乎过时的苹果支持页面 。

我不熟悉Java,所以我可以使用一些建议。

相反,你安装的java下载这个

https://support.apple.com/kb/DL1572?viewlocale=en_US&locale=en_US

安装后,您的问题将得到解决

这对我有用:在〜/ .profile中设置两个env变量

 export JAVA_HOME=`/usr/libexec/java_home -v 1.8` export LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/server 

我可以在Rstudio中安装rJava和xlsx包。 不可否认,为了让它恰到好处,需要数小时的修补(无意识地)。

我能够让rJava加载Java 8.看起来这是一个问题,RStudio没有将某些环境变量传递给Yosemite的rsession。 希望他们能尽快修复它,但同时您可以在终端中自行传递环境变量。 运行这个:

$ LD_LIBRARY_PATH = $(/ usr / libexec / java_home)/ jre / lib / server:open -a RStudio

基本上你在这里做的是运行java_home可执行文件,它返回你的Java路径,然后附加jre / lib / server目录。 这被分配给LD_LIBRARY_PATH,这是RStudio正确需要的。