MacOS 安装了多个 Java 版本,无需卸载
显示我安装的 Java 版本:
$ ls -l /Library/Java/JavaVirtualMachines/
将其设置为我的 jdk1.8 版本:
$ ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/bin/javac /usr/local/bin/javac
将其设置为我的 jdk11 版本:
$ ln -s /Library/Java/JavaVirtualMachines/jdk-11.0.7.jdk/Contents/Home/bin/javac /usr/local/bin/javac
---------------------------------------------- --------------------------
请注意,尽管消息说了什么,但它似乎意味着它需要 1.8 版本,如果您有 更高版本 版本,则会抛出此消息。
接下来是我之前的尝试,这些尝试使我得到了上述答案,然后就奏效了...
根据安装的内容,您可能需要做一些不同的事情,所以这些注释可能会有所帮助:
设置为我的jdk1.8版本
$ export PATH=/Library/Java/JavaVirtualMachines/jdk-11.0.7.jdk/Contents/Home/bin/javac:$PATH
设置为我的jdk11版本
$ export PATH=/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/bin/javac:$PATH
...但实际上这不起作用,因为/usr/bin/javac 仍然是首先运行的:
$ which javac
/usr/bin/javac
...查看路径上首先运行的内容:
$ cat /etc/paths
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
这意味着我可以覆盖/usr/bin/javac ...查看答案顶部的命令...
在这个答案的顶部,使用ln 将其设置为 jdk1.8 的命令对我有用。