java - 如何让 OS X 在应用程序启动时自动安装 Java 7 而不是 Java 6

标签 java macos

OS X 上不再默认安装 Java,但幸运的是,如果用户尝试启动 Java 应用程序,他们会收到以下消息:

enter image description here

我真的很喜欢这个,因为它清楚地解释了 Java 是必需的,并提供了一种一键安装的方式。对于最终用户来说,这既简单又轻松。

但是,这会提示安装 Java SE 6 而不是 Java SE 7,后者已经发布了一段时间。这种情况甚至发生在操作系统 10.9.1(撰写本文时的最新版本)上。我正在考虑让我的应用程序需要 Java SE 7,但我想确保用户将下载正确的版本(我知道我可以捆绑 JRE,但我不想添加它,因为它会使应用程序增加四倍)尺寸)。理想情况下,我希望继续显示上面显示的对话框,但它不会下载 Java SE 6,而是下载 Java SE 7。

我尝试将应用程序 Info.plist 文件中的 JVMVersion 键更改为 1.7+,但这没有任何区别,仍然提示下载Java SE 6(如果它确实需要它,将导致不兼容)。

那么有没有一种方法可以让 OS X 在用户启动我的应用程序时提示他们下载 Java 7?需要明确的是,我希望这是用户方面的事情。我知道我可以安装 Java,但我希望它对最终用户来说尽可能轻松。

最佳答案

无法在 OS X 上自动下载 Java 7。这是设计使然。当您部署 OS X 应用程序时,您需要将应用程序启动所需的所有内容放入应用程序包中 - 包括 JRE 或 JDK(如果需要)。如果您发现 JRE 或 JDK 的大小 Not Acceptable ,您可以删除任何不需要的组件(JavaFX、AWT、JObjC 等)。

这是您可以提供的最轻松的用户体验。下载,双击,然后开始。

关于java - 如何让 OS X 在应用程序启动时自动安装 Java 7 而不是 Java 6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21568826/

相关文章:

java - ?多个 ifs/cleaner 代码的运算符

macos - 如何添加 Sublime Text 2 键绑定(bind)?

c++ - 如何在 Mac OS X 上从命令行进行分析?

objective-c - 访问屏幕上所有应用程序窗口的 NSWindow.level

MySQL-DB 与 MAC 的连接!

java - TableView:当滚动到达表格底部/顶部时收到通知

java - 如何使用ini4j编写ini文件

java - 有没有办法根据 Spring 配置文件禁用 Testcontainer?

java - 弃用方法是什么意思,我该如何解决由此产生的错误?

xcode - 将 Xcode 5 文件模板值更改为 ___FULLUSERNAME___