Apple“弃用”Java并将在未来停止支持它。
假设Oracle将在Mac上接管对Java的支持,有没有办法确定Apple特有的黑客如“将菜单栏置于屏幕顶部”或“默认使用本机主题”将以同样的方式支持针对Apple平台的其他JRE / JVM吗?
是否有一些行业标准或优先权如何处理这些情况,或者这对个别开发人员来说是一个额外的负担(==还有另一个运行时要测试)?
通常的做法是从前一个实现的角度出发,并将错误复制到像Apple实现一样的行为吗?或者更有可能的是,工程将从一些像OpenJDK这样的“标准”Java开始,并将其调整到Mac OSX系统,引入不同的错误/ API /设置以集成到本机平台中?
尽管Apple的举动和甲骨文的反应的细节仍然不明确,但如果有“大公司在这些情况下表现得如何”的经验能够加强并提供一些见解,我将非常高兴。
答案 0 :(得分:1)
“默认情况下使用本机主题”已经可以在Oracle JVM中使用$JAVA_HOME/lib/swing.properties
文件(假设$JAVA_HOME
是环境变量)。
它应包含以下内容:
# Swing properties
swing.defaultlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel
注意:这是Nimbus L& F名称,这是Java 6u10中新的基于矢量的跨平台UI。
我不知道Apple的JVM中的Mac L& F名称是什么,它在Oracle的Mac JVM中可能有不同的名称。
可悲的是,我不知道如何在未明确指定的情况下将其强制为原生。
至于其他属性(例如merge menubar属性)是否可以在Oracle OSX JVM中运行,我们将不会知道,直到Oracle实际生成一个。
答案 1 :(得分:1)
似乎Apple和Oracle社区都可以使用Apple的贡献和自定义。来自2010年11月12日的Apple press release标题为 Oracle和Apple宣布面向Mac OS X的OpenJDK项目:
Apple将贡献大部分关键 组件,工具和技术 Java SE 7所必需的 在Mac OS X上实现,包括 基于32位和64位HotSpot的Java 虚拟机,类库,a 网络堆栈和基础 对于新的图形客户端。 OpenJDK的 将制作Apple的Java技术 可供开源开发人员使用 他们可以访问和贡献 努力。
该公告还声称Oracle将来会支持OS X:
Apple还证实了Java SE 6 将继续提供 Apple for Mac OS XSnowLeopard®和 即将发布的Mac OS X Lion。 Java SE 7和Java的未来版本 对于Mac OS X,将提供 甲骨文。