目前在我的Mac上我有这些JAVA版本:
MyMac $ cd / Library / Java / JavaVirtualMachines
$ ls -la
总计0
drwxr-xr-x 4根轮136 10月11日11:21。
drwxrwxr-x 5根轮170 10月11日11:21 ..
drwxr-xr-x 3根轮102 14月22日22:52 1.6.0.jdk
drwxr-xr-x 3根轮102 10月11日11:16 jdk1.7.0_79.jdk
我要做的是将符号链接更改为指向JDK 7而不是JDK 6:
$ cd /System/Library/Frameworks/JavaVM.framework/Versions
$ ls -la
drwxr-xr-x 11根轮374十一月11:21。
drwxr-xr-x 10根轮340 10月11日11:21 ..
lrwxr-xr-x 1根轮10 17 Oct 11:21 1.4 - > CurrentJDK
lrwxr-xr-x 1根轮10 17 Oct 11:21 1.4.2 - > CurrentJDK
lrwxr-xr-x 1根轮10 17 Oct 11:21 1.5 - > CurrentJDK
lrwxr-xr-x 1根轮10 17 Oct 11:21 1.5.0 - > CurrentJDK
lrwxr-xr-x 1根轮10 17 Oct 11:21 1.6 - > CurrentJDK
lrwxr-xr-x 1根轮10 17 Oct 11:21 1.6.0 - > CurrentJDK
drwxr-xr-x 8根轮272 17 Oct 11:21 A
lrwxr-xr-x 1根轮1 17十一月11:21当前 - >甲
lrwxr-xr-x 1根轮52 17 Oct 11:21 CurrentJDK - > /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
不幸的是我无法删除链接。我得到一个不允许的操作错误:
sudo rm CurrentJDK
rm:CurrentJDK:不允许操作
有什么想法吗?
谢谢!
答案 0 :(得分:4)
按照以下步骤禁用SIP:
重启Mac。 在OS X启动之前,按住Command-R并保持按住直到看到Apple图标和进度条。发布。这会引导您进入Recovery。 从Utilities菜单中,选择Terminal。 在提示符下键入以下内容,然后按Return:
csrutil disable
终端应显示已禁用SIP的消息。
从apple菜单中,选择Restart。
您可以按照上述步骤重新启用SIP,但请改用csrutil enable
。
答案 1 :(得分:1)
如果您正在运行OS X 10.11(El Capitan),则会出现一个名为" Rootless"的新功能。除了安装程序之外,它会阻止编辑/ System /下的文件。您可以通过将JAVA_HOME环境变量设置为/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
来解决任何需要您更新CurrentJDK符号链接的问题。如果您真的想要修改/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK符号链接,则可能必须禁用无根模式。您也可以尝试再次运行Java 7安装程序,但我不确定这是否可行
有关无根功能的更多信息,请访问:https://apple.stackexchange.com/questions/193368/what-is-the-rootless-feature-in-el-capitan-really
答案 2 :(得分:0)
适用于macOS Catalina 10.15.2和RStudio 1.2.5036的步骤
https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase11-5116896.html
您可能需要运行以下命令,但RStudio似乎无法确认设置:
sudo R CMD javareconf
remove.packages("rJava")
install.packages("rJava", type="source", repos="http://cran.rstudio.com")
从源代码安装rJava似乎会运行不同的配置设置,该配置设置将查找Java,并且在RStudio似乎接受的输出中将显示“检查R中的Java支持”。
也可能需要对.Rprofile进行更改:
options(java.home="/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home")
Sys.setenv(DYLD_FALLBACK_LIBRARY_PATH="/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home/lib/server/")