我必须为仍在运行JDK1.5的遗留应用程序编写一些代码。不幸的是,看起来OS-X实际上并没有安装1.5 JDK;它只是链接到1.6:
/System/Library/Frameworks/JavaVM.framework/Versions $ ls -l
lrwxr-xr-x 1 root wheel 5 Apr 26 11:53 1.3 -> 1.3.1
drwxr-xr-x 3 root wheel 102 Feb 11 15:33 1.3.1
lrwxr-xr-x 1 root wheel 10 Apr 26 11:53 1.4 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Apr 26 11:53 1.4.2 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Apr 26 11:53 1.5 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Apr 26 11:53 1.5.0 -> CurrentJDK
lrwxr-xr-x 1 root wheel 5 Apr 26 11:53 1.6 -> 1.6.0
drwxr-xr-x 7 root wheel 238 Apr 26 11:53 1.6.0
drwxr-xr-x 8 root wheel 272 Apr 26 11:53 A
lrwxr-xr-x 1 root wheel 1 Apr 26 11:53 Current -> A
lrwxr-xr-x 1 root wheel 3 Apr 26 11:53 CurrentJDK -> 1.6听起来像是http://developer.apple.com/java/faq/说Java是操作系统更新的一部分……我用的是Mac OS X v10.6.3 (雪豹)。有没有办法在这个操作系统版本上安装一个实际的1.5 JDK?
或者我需要尝试找到一个旧版本的OS-X,然后才能完成这项工作?
发布于 2010-05-17 12:06:26
如果您正在使用Eclipse或其他IDE编写代码,您应该能够将其配置为符合1.5标准。
如果您直接使用javac,您可以尝试使用-source 1.5和/或-target 1.5 javac选项,这对于您正在做的事情可能足够了?1.6JDK应该能够生成与1.5兼容的代码。
发布于 2010-11-09 16:34:55
看看http://wiki.oneswarm.org/index.php/OS_X_10.6_Snow_Leopard,了解如何在Snow Leopard上获得和安装1.4和1.5JDK。还要记住,每当您运行Software Update并安装JDK更新时,都需要“修复”指向1.4和1.5JDK的符号链接。
更新:作为附注,对于那些在OS X上使用多个JDK进行开发的人,可以看看这个从命令行切换JDK的方便的小实用程序:setjdk。
发布于 2011-04-24 23:56:40
这里确实有两个问题:
然而,苹果公司的Java运行时工程师according to this post from Mike Swingler说,我对已经写过的关于安装旧版本Java的内容没有任何补充:
任何人都不能也不应该更改/System/Library/ Frameworks/ breaks中的符号链接,除非苹果软件更新(我们不愿意这样做,因为这不可避免地会破坏某些人)
换句话说,将操作系统的链接更新到旧版本的是一种可疑的实践,因为它迫使系统上的每个Java应用程序都使用旧版本。
正确的方法是根据需要将JAVA_HOME设置为正确的Java版本。您可以通过执行/usr/libexec/java_home来获取特定版本的路径来完成此操作。例如,要获取1.5版本的路径:
/usr/libexec/java_home --version 1.5
https://stackoverflow.com/questions/2846573
复制相似问题