ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

macos – 为什么/usr/libexec / java_home不能识别JDK 1.8?

2019-08-18 05:00:01  阅读:702  来源: 互联网

标签:java macos install mountain-lion


我正在尝试在OS X Mountain Lion上安装JDK 8(以试验新的lambda功能).

初始点

最近从OS X 10.6更新到10.8的机器

$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/

和OS X 10.6时代的这个文件夹:

/System/Library/Frameworks/JavaVM.framework/Versions/

在〜/ .bashrc我已经设置好了

export JAVA_HOME=/Library/Java/JavaVirtualMachines/Home

所以我有

$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

我是如何安装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

我现在有

$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/
  ...

但java_home实用程序似乎并不关心:

$/usr/libexec/java_home 
  /Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home

它甚至不知道有可用的JDK 8:

$/usr/libexec/java_home -v 1.8*
  Unable to find any JVMs matching version "1.8*".

我想/usr/libexec / java_home实用程序来查找我安装的JDK,所以我可以使用这样的东西:

alias setjdk17='export JAVA_HOME=$(/usr/libexec/java_home -v 1.7*)'
alias setjdk18='export JAVA_HOME=$(/usr/libexec/java_home -v 1.8*)'

并摆脱Home符号链接.有人知道吗

>我如何才能正确安装JDK 8?
>我怎么能让/usr/libexec / java_home认出来呢?

解决方法:

您还需要从1.7 SDK复制Contents / MacOS目录和Info.plist并进行调整(通过更改其中的版本字符串).

然后你可以:

$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

请注意,这是一个黑客攻击,除了启动java之外我没有尝试过其他任何东西……我只是在创建包的过程中构建.

标签:java,macos,install,mountain-lion
来源: https://codeday.me/bug/20190818/1685111.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有