我必须为仍在运行JDK 1.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
Run Code Online (Sandbox Code Playgroud)
听起来像http://developer.apple.com/java/faq/,Java是操作系统更新的一部分...我在Mac OS X v10.6.3(Snow Leopard)上.有没有办法在这个操作系统版本上安装实际的1.5 JDK?
或者我需要尝试找到旧版本的OS X才能完成这项工作?
Raf*_*nes 13
查看http://wiki.oneswarm.org/index.php/OS_X_10.6_Snow_Leopard,了解如何在Snow Leopard上获取和安装1.4和1.5 JDK.另外请记住,无论何时运行Software Update并安装JDK更新,您都需要将符号链接"修复"到1.4和1.5 JDK.
更新:作为旁注,对于那些在OS X上使用多个JDK进行开发的人,请查看这个方便的小工具来从命令行切换JDK:setjdk.
这里真的有两个问题:
然而,根据 Apple的Java运行时工程师Mike Swingler的这篇文章,我还没有任何东西可以添加到已经编写的有关安装旧版Java的内容中:
除了Apple软件更新之外,没有人能够或应该更改/ System/Library/Frameworks/JavaVM.framework中的符号链接(我们不愿意这样做,因为它不可避免地会破坏某人)
换句话说,更新操作系统与旧Java副本的链接是一个值得怀疑的做法,因为它会强制系统上的每个Java应用程序使用旧的Java版本.
正确的方法是根据需要设置JAVA_HOME正确的Java版本.您可以通过执行/usr/libexec/java_home以获取特定版本的路径来执行此操作.例如,要获取1.5版本的路径:
/usr/libexec/java_home --version 1.5
如果您在Eclipse或其他IDE中编写代码,则应该能够将其配置为以1.5合规性为目标.
如果您直接使用javac,您可以尝试使用-source 1.5和/或-target 1.5javac选项,这可能足以满足您的需求吗?1.6 JDK应该能够生成符合1.5的代码.
| 归档时间: |
|
| 查看次数: |
44100 次 |
| 最近记录: |