Identifying Java on Mac OS X Technical Note TN2110
http://developer.apple.com/technotes/tn2002/tn2110.html自己翻译了2段:
虽然Apple尽了最大努力使它的J2SE完全同步于Sun的发布,但是Apple有自己的发布计划,而且也没有必要发布每一个Sun的J2SE。例如,MacOSX的J2SE 1.4.2的第一版是基于JDK 1.4.2_03的。有可能在Sun发布一个小版本(比如:1.4.2_04)之前,Apple发布了一个Java 1.4.2 Update用来修复Java在MacOSX上的一些问题。这样的话,就可能同事存在2个MacOSX J2SE 1.4.2_03的发布版本,所以,简单的检查System property的 java.version是不足以判断你的程序是运行在哪一个Apple发布版本上的。
这和开发者有什么关系呢?如果Java在MacOSX上有问题影响到了你的程序,有可能有2种解决方法:
1, 你的程序告诉用户用户升级他们的Java到一个你知道此问题已经解决的版本。
2, 如果第一点不行,那就在有问题的版本上避免这个问题。
有很多办法来判断你的程序运行在哪个Apple J2SE版本上,不过推荐的方法是分析System property的java.runtime.version。Apple在这个值的最后加上了特殊的发布号(与J2SE发布版本号无关),可以用来识别你使用的Apple版本。下面是一个例子:
。。。。。。。。。
Mrj.version
另外一个有同样作用的System property值是由Apple提供的mrj.version,然而它是一个遗留的值,可以追溯到Classic Mac OS,并且在以后的发布中不保证确定的格式。所以推荐是用os.name和java.runtime.version来进行判断。
页:
[1]