我正在尝试在OS X Mountain Lion上安装JDK 8(以试验新的lambda功能).
初始点
最近从OS X 10.6更新到10.8的机器
<code>$sw_vers ProductName: Mac OS X ProductVersion: 10.8.2 BuildVersion: 12C60 $ls -l /Library/Java/JavaVirtualMachines/ Home@ -> jdk1.7.0_09.jdk/Contents/Home/ jdk1.7.0_09.jdk/ $ls -l /System/Library/Java/JavaVirtualMachines/ 1.6.0.jdk/ </code>
和OS X 10.6时代的这个文件夹:
<code>/System/Library/Frameworks/JavaVM.framework/Versions/ </code>
在?/ .bashrc我已经设置好了
<code>export JAVA_HOME=/Library/Java/JavaVirtualMachines/Home </code>
所以我有
<code>$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) $/usr/libexec/java_home /Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home </code>
我是如何安装JDK 8的
>从http://jdk8.java.net/lambda/下载.tar.gz文件并将其解压缩到
> /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home
(我手动创建了文件夹jdk1.8.0.jdk / Contents / Home)
>将symlink / Library / Java / JavaVirtualMachines / Home更改为指向jdk1.8
我现在有
<code>$java -version openjdk version "1.8.0-ea" OpenJDK Runtime Environment (build 1.8.0-ea-lambda-nightly-h2135-20121203-b67-b00) OpenJDK 64-Bit Server VM (build 25.0-b05, mixed mode) $echo $JAVA_HOME /Library/Java/JavaVirtualMachines/Home $ls /Library/Java/JavaVirtualMachines Home@ -> jdk1.8.0.jdk/Contents/Home/ ... </code>
但java_home实用程序似乎并不关心:
<code>$/usr/libexec/java_home /Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home </code>
它甚至不知道有可用的JDK 8:
<code>$/usr/libexec/java_home -v 1.8* Unable to find any JVMs matching version "1.8*". </code>
题
我想/usr/libexec / java_home实用程序来查找我安装的JDK,所以我可以使用这样的东西:
<code>alias setjdk17='export JAVA_HOME=$(/usr/libexec/java_home -v 1.7*)' alias setjdk18='export JAVA_HOME=$(/usr/libexec/java_home -v 1.8*)' </code>
并摆脱Home符号链接.有人知道吗
>我如何才能正确安装JDK 8?
>我怎么能让/usr/libexec / java_home认出来呢?
解决方法:
您还需要从1.7 SDK复制Contents / MacOS目录和Info.plist并进行调整(通过更改其中的版本字符串).
然后你可以:
<code>$export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home $java -version openjdk version "1.8.0-ea" $/usr/libexec/java_home -v 1.8* /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home </code>
请注意,这是一个黑客攻击,除了启动java之外我没有尝试过其他任何东西……我只是在创建包的过程中构建.
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!