Apple贬低Java。 Apple特定的自定义设置是否仍可与其他JRE / JVM一起使用?

时间:2010-10-21 21:12:28

标签: java macos oracle cross-platform

Apple“弃用”Java并将在未来停止支持它。

假设Oracle将在Mac上接管对Java的支持,有没有办法确定Apple特有的黑客如“将菜单栏置于屏幕顶部”或“默认使用本机主题”将以同样的方式支持针对Apple平台的其他JRE / JVM吗?

是否有一些行业标准或优先权如何处理这些情况,或者这对个别开发人员来说是一个额外的负担(==还有另一个运行时要测试)?

通常的做法是从前一个实现的角度出发,并将错误复制到像Apple实现一样的行为吗?或者更有可能的是,工程将从一些像OpenJDK这样的“标准”Java开始,并将其调整到Mac OSX系统,引入不同的错误/ API /设置以集成到本机平台中?

尽管Apple的举动和甲骨文的反应的细节仍然不明确,但如果有“大公司在这些情况下表现得如何”的经验能够加强并提供一些见解,我将非常高兴。

2 个答案:

答案 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,将提供   甲骨文。