我在Mac OSX上很难理解多个Java版本(实际路径与链接)。通常在windows中,如果我的机器上安装了多个版本,我可以选择我想要的版本并使用它。但是在MAC OS X中,我知道有一种叫做链接的东西指向CurrentJDK,如果我想使用不同的版本,我需要将链接更改为CurrentJDK,对吗?但令我困惑的是,正如你在下面看到的,我所有的版本都指向同一个CurrentJDK,这意味着所有版本都指向当前版本?我希望其中只有一个会指向CurrentJDK,我可以将其更改为我需要的任何一个,但这里的情况并非如此。我所需要知道的是如何找到每个版本的bin(Commands)文件夹路径,这样我就可以只用它来指向CurrentJDK?另外,请告诉我如何将链接更改为CurrentJDK。
$ java -version
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07-334-10M3326)
Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02-334, mixed mode)
$ pwd
/System/Library/Frameworks/JavaVM.framework/Versions
$ ls -l
lrwxr-xr-x 1 root wheel 5 Mar 20 11:12 1.3 -> 1.3.1
drwxr-xr-x 3 root wheel 102 Dec 2 2009 1.3.1
lrwxr-xr-x 1 root wheel 10 Mar 20 11:12 1.4 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 20 11:12 1.4.2 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 20 11:12 1.5 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 20 11:12 1.5.0 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 20 11:12 1.6 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 20 11:12 1.6.0 -> CurrentJDK
drwxr-xr-x 10 root wheel 340 Mar 20 11:13 A
lrwxr-xr-x 1 root wheel 1 Mar 20 11:12 Current -> A
lrwxr-xr-x 1 root wheel 59 Mar 20 11:12 CurrentJDK -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
6条答案
按热度按时间2eafrhcq1#
对于不同类型的JDK或安装,您将有不同的路径。
在Mac OS X Mavericks上,我找到的路径如下:
1)内置JRE默认值:
2)从Apple下载的JDK:
3)从Oracle下载的JDK:
rnmwe5a22#
很可能你只安装了一个jdk,因此所有的软链接都指向同一个jdk。但是如果你安装了多个jdk,你需要在你的/Application/Utilities中选择一个与“Java首选项”应用程序一起使用。
软链接是通过终端的
ln -s
命令创建的。ut6juiuv3#
只需运行以下命令:
j8ag8udp4#
来自Apple技术Q&A Java问题:
用户首选项
在Mac OS X上,Java运行时提供了java.util.prefs API,该API由标准的Mac OS X Preferences API和目录支持。只需使用这个纯Java API,就可以读取应用程序的首选项,并将其存储在MacOSX属性列表文件的~/Library/Preferences中。对于可能已经有自己的首选项格式的应用程序,这些首选项也应该存储在~/Library/Preferences目录中。通过创建一个路径为System.getProperty(“user.home”)+“/Library/Preferences/”+“com.example.your.Application”的文件,可以从Java代码访问该目录。一个应该在所有用户中具有全局首选项的应用程序可以驻留在/Library/Preferences中,但是这个目录对于非管理员用户是不可写的。
mec1mxoz5#
在.bash_profile中设置$JAVA_HOME=$(/usr/libexec/java_home)
或者export JAVA_HOME=$(/usr/libexec/java_home);
echo $JAVA_HOME
ozxc1zmp6#
在Mac Ventura上,JDK从Oracle下载