问题
I use OS X Yosemite (10.10.2) and I have to use JDK 1.5 for legacy application development. I found this post which refers to this script to install JDK 4,5,6 in Lion and Mavericks. In comments I found this two lines
/usr/libexec/PlistBuddy -c "Set :JavaVM:JVMMaximumFrameworkVersion 14.*.*" ./Resources/Info.plist
/usr/libexec/PlistBuddy -c "Set :JavaVM:JVMMaximumSystemVersion "$osx_version".*" ./Resources/Info.plist
have to be changed by
/usr/libexec/PlistBuddy -c "Delete :JavaVM:JVMMaximumFrameworkVersion" ./Resources/Info.plist
/usr/libexec/PlistBuddy -c "Delete :JavaVM:JVMMaximumSystemVersion" ./Resources/Info.plist
to achieve compatibility with Yosemite. I ran this script and this is content of my /System/Library/Frameworks/JavaVM.framework/Versions directory
lrwxr-xr-x 1 root wheel 10 8 apr 14:36 1.4 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 8 apr 14:36 1.4.2 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 9 apr 11:01 1.5 -> ./1.5.0_30
lrwxr-xr-x 1 root wheel 10 9 apr 11:01 1.5.0 -> ./1.5.0_30
drwxr-xr-x 9 root wheel 306 9 apr 11:01 1.5.0_30
lrwxr-xr-x 1 root wheel 10 8 apr 14:36 1.6 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 8 apr 14:36 1.6.0 -> CurrentJDK
drwxr-xr-x 7 root wheel 238 8 apr 14:36 A
lrwxr-xr-x 1 root wheel 1 8 apr 14:36 Current -> A
In Eclipse preferences Java->Installed JREs->Execution Environments, there is not any JRE 1.5
and probably this is the reason why I cannot build projects in Java 5, because I get errors:
Build path specifies execution environment J2SE-1.5. There are no JREs installed in the workspace that are strictly compatible with this environment.
In Eclipse preferences Installed JREs - JSE-1.5 refers to correct path
In project preferences Java Build Path contains J2SE-1.5
and Java Compiler in project preferences is set correctly as well.
This is content of /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0_30 directory
This thread refers to my previous post.
回答1:
I think the solution to your problem might be in this question.
Eclipse is a powerful IDE, and as such can tell a 1.6/1.7/1.8 JRE to run as if it was a 1.5 JRE. I am not familiar with using this, but it looks a lot easier than downloading an entirely different JDK.
To change the compiler compliance level, go to your Project Settings -> Java Compiler
Untick Use compliance from execution environment and ensure that Use default compliance settings is ticked, and that the box alongside that is set to 1.5.
Then you can change back to using your JDK 1.7.
Please let me know if this worked, as I can post an answer that walks through installing a new JRE for you, if this hasn't helped.
来源:https://stackoverflow.com/questions/29535500/install-jdk-1-5-in-osx-10-10-yosemite