编程语言
首页 > 编程语言> > macos – 如何在仅安装了Java 7的Mountain Lion上启动需要Java的应用程序?

macos – 如何在仅安装了Java 7的Mountain Lion上启动需要Java的应用程序?

作者:互联网

刚刚购买了Mountain Lion 10.8.4附带的全新MacBook Air,并且没有安装Java.有一个/usr/bin/java,但运行它会提示我在Cocoa对话框中安装Apple分布式Java 6运行时.

但是,Oracle不再支持Java 6,我不想运行不受支持且可能不安全的Java安装.

所以,我去了Oracle’s Java SE downloads并安装了最新的JDK,jdk-7u25-macosx-x64.现在我在这台机器上唯一的Java是1.7.0_25,由Oracle分发. /usr/bin/java -version现在有效.

我刚刚运行了brew cask install eclipse,最终得到了Eclipse 4.3.当我第一次尝试运行它时,我得到了相同的提示来安装Java运行时,就好像我没有安装Java一样.

所以我在这里看了Apple StackExchange并找到了https://apple.stackexchange.com/a/58841/52440.在运行sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk /System/Library/Java/JavaVirtualMachines/1.6.0.jdk后,我现在能够启动Eclipse.

但是,当我尝试启动其他需要Java的应用程序时,例如/usr/share / java / Tools / Java VisualVM.app和/opt/homebrew-cask/Caskroom/webstorm/6.0.2a/WebStorm.app,我得到了没有兼容的Java 1.6可用的错误(见下文).

有谁知道是否可以让这些其他应用程序正常工作,或者他们真的需要Java 6并且无法使用Java 7吗?

解决方法:

显示该对话框是因为Oracle的Java仅设置了部分“JVMCapabilities”,并将其自身宣告为仅支持命令行.

作为超级用户(如果在终端中编辑,则使用’sudo’),您应该编辑/Library/Java/JavaVirtualMachines/jdk.1.7.[version-and-release].jdk/Contents/Info.plist并找到以下密钥:

<key>JVMCapabilities</key>
  <array>
    <string>CommandLine</string>
  </array>

并添加它以包含缺少的值:

<key>JVMCapabilities</key>
  <array>
    <string>CommandLine</string>
    <string>JNI</string>
    <string>BundledApp</string>
  </array>

在那之后,你必须重新启动,注销或killall Finder,似乎工作. (人们已经报道重新启动Finder就够了,但我不得不退出.)


Source.

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