如何在Mac OS X 10.7.5上恢复到Java 1.6

Dav*_*804 24 java macos

我有1.6安装程序.我用过它.它不会更改我的Java安装,也不会说有旧版本,但它确实完成了安装.

我一直在使用符号链接,但无论我做什么,运行

java -version
Run Code Online (Sandbox Code Playgroud)

在终端总是导致

Daves-MacBook-Pro:core-server dave$ java -version
java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)
Run Code Online (Sandbox Code Playgroud)

我的应用程序适用于GAE,它根本不使用Java 1.7.因此,我无法使用1.7编译我的代码!我必须使用1.6,但我没有找到一种方法来删除1.7或以其他方式强制构建/编译在1.6上发生.

最后一点,我在命令行上运行构建工具,因此在Eclipse中更改项目的设置似乎不会有所帮助.

Ian*_*rts 69

java,javac等命令行工具的价值敏感的JAVA_HOME环境变量,将使用1.6如果这个变量指向1.6 JDK.这个工具/usr/libexec/java_home是你的朋友.运行

/usr/libexec/java_home
Run Code Online (Sandbox Code Playgroud)

将为JAVA_HOME您系统上最新的JDK 打印出适当的值.这将是Java 7,但您可以使用-v标志来应用约束,例如

/usr/libexec/java_home -v '1.6*'
Run Code Online (Sandbox Code Playgroud)

将返回系统上JAVA_HOME最佳可用1.6 JDK 的值.您可以使用此值来设置JAVA_HOME:

export JAVA_HOME=`/usr/libexec/java_home -v '1.6*'`
Run Code Online (Sandbox Code Playgroud)

或者作为特定终端会话的一次性,或者通过将上述行添加到.bash_profile主目录中的文件,永久地用于所有未来的终端会话.


$ export JAVA_HOME=`/usr/libexec/java_home -v '1.6*'`
$ java -version
java version "1.6.0_37"
Java(TM) SE Runtime Environment (build 1.6.0_37-b06-434-11M3909)
Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01-434, mixed mode)
$ export JAVA_HOME=`/usr/libexec/java_home -v '1.7*'`

$ java -version
java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)
Run Code Online (Sandbox Code Playgroud)

  • '-v 1.6`为+1.我疯狂地想弄清楚. (2认同)