Mac 10.11 java se6 不兼容问题

本帖最后由 赵艾安 于 2015-7-3 18:50 编辑 

不少朋友问下题何解,终于,撸主找到了解题方法~此文来自国外大神,点击传送门可前去瞻仰。
This application requires the legacy Java SE 6 runtime which is unavailable for this version of OS X




解决办法
既然不支持古老的 Java SE 6,那我们何不直接安装最新版本的 Java SE 8?

准备工作
首先,你需要去官网下载最新版本的 JDK(为什么是 JDK 而不是 JRE?因为 JRE 的修改方法更麻烦一些……与其如此,还不如一步到位。)然后安装之。

验证版本
打开终端,然后使用如下命令来查看,如果你的结果和我这里的差不多,那说明已经安装好了。
  1. ╰─➤  java -version
  2. java version "1.8.0_45"
  3. Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
  4. Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
复制代码
修改配置文件
找到如下路径的文件,修改之。(需要管理员权限)

请注意看目录,没有 System!

不是 System 里的 Library!

  1. sudo vim  /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Info.plist
复制代码
  1. //找到如下字段
  2. <key>JVMCapabilities</key>
  3. <array>
  4.     <string>CommandLine</string>
  5. </array>


  6. //修改成这样:
  7. <key>JVMCapabilities</key>
  8. <array>
  9.     <string>CommandLine</string>
  10.     <string>JNI</string>
  11.     <string>BundledApp</string>
  12. </array>
复制代码
创建链接
由于 EL Capitan 有一个新的叫做“RootLess”功能,所以我们只能够一级一级的创建目录,按照如下目录依次进入,如果不存在则创建:
  1. cd /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
  2. sudo mkdir bundle
  3. cd bundle
  4. sudo mkdir Libraries
复制代码
然后使用如下命令来创建链接(这是一条命令)
  1. sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/server/libjvm.dylib /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bundle/Libraries/libserver.dylib
复制代码
创建两个空目录
按照上边的方法,我们还需要一级一级的创建两个空目录:
  1. /Library/Java/JavaVirtualMachines/1.6.0.jdk
  2. /Library/Java/Support/Deploy.bundle

  3. //为了绕过那个苦逼的 rootless,一级一级的创建才行,懒得关闭了。

  4. cd /Library/Java/JavaVirtualMachines
  5. sudo mkdir 1.6.0.jdk
  6. cd ..
  7. sudo mkdir Support
  8. cd Support
  9. sudo mkdir Deploy.bundle
复制代码
你的实际操作环境很可能跟我的例子不一样,但是大同小异,注意变通即可。你们为什么不质疑我说我的代码里就有 System!我竟然没有发现是我自己写错了!!!!!我有罪,我的错!已改正代码。


重启系统
这时候,你还需要最后一步,由于10.11 这时候的重启会变成关机,我们使用命令行来重启,虽然会卡住一下,但却是能够重启……
  1. sudo shutdown -r now
复制代码


优化 App

做完以上工作,很有可能你还是悲剧的发现你的Java 程序无法启动,不要慌张,可能是因为程序不支持最新版本 Java 导致,我们需要手动来让它支持:


在你的应用程序上点击鼠标右键——或者按住 control 点击之,选择“显示包内容”,在 Content 目录下有个 Info.plist 文件


完整的路径应该是这样的:/Applications/你的Java程序.app/Contents/Info.plist
  1. 编辑这个文件,在里边找到这句话:

  2. <key>JVMVersion</key>
  3. <string>1.*</string>

  4. 做如下修改:

  5. <key>JVMVersion</key>
  6. <string>1.8*</string>
复制代码
保存之……你可能需要管理员权限,如果不行,就拖出来修改再覆盖回去……总之,编辑之后你的 Java 程序就 ok 啦






还不行……?看看这位封釉的笔记吧!我是传送门!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值