Java on Mac OS X


現況

到官網下載 Java SE 6 的話,會找不到下載的連結(只有 Linux、Solaris 跟 Windows),而且也不會有任何提示,那是因為 Apple 有開發 自家的 JVM (Java for Mac OS X),但如果是下載 Java SE 7 的話,會看到下面的提示:

Looking for the JDK7 for Mac OS X Developer Preview? The JDK7 for Mac OS X Developer Preview for Java Developers is now available on jdk7.java.net.

會有這樣的差別是因為 Apple 在發行 Java for Mac OS X 10.6 Update 3 時,突然宣佈不再開發自己的 JVM(但 Mac OS X 10.5 跟 10.6 預裝的版本還是會繼續維護)。這個消息一出,不免讓人聯想到繼 Flash 之後,Java 會不會是下一個要被搞掉的平台?

所幸下一個版本 Mac OS X 10.7 只是沒有預先安裝 JVM 而已,使用者第一次存取 Lanuchpad > Utilities > Java Preferences 或其他 Java 應用程式時,就會被提示是否要下載安裝 JVM,安裝的還是 Apple 自家的 JVM (Java SE 6 Update 29)。不過之後 Java SE 7 就必須從 Java 官網下載,也就是說 Mac 上的 JVM 不會再比其他 OS 慢半拍了。

Apple 在宣佈不再開發自家 JVM 的消息後(2010-10),過了不久(2010-11)又隨即宣佈加入了 OpenJDK,全力支援 JDK7 for Mac OS X 的開發(Mac OS X Port Project,在 BSD port 上加上 Apple 專屬的部份)。巧的是,在 Apple 宣佈加入 JDK 的前一個月,同樣有自家 JVM 的 IBM 也宣佈棄守 Apache Harmony 並加入 OpenJDK,因此 OpenJDK 有 Oracle/IBM/Apple 三大廠在背後撐腰,再加上直接做為 Java reference implementation (RI),前途一片看好。

Note

參考資料


安裝

在 Mac OS X Lion 下,點選 Launchpad > Utilities > Java Preferences,如果還沒有安裝 Java 的話就會跳出提示詢問是否要安裝,之後就會自動下載安裝 Java for Mac OS X 10.7 Update 1 (Java SE 6 to 1.6.0_29)。

另外第一次執行 Java 時,也會被提示要安裝 Java:

$ java
No Java runtime present, requesting install

確認安裝的結果:

$ java -version
java version "1.6.0_29"
Java(TM) SE Runtime Environment (build 1.6.0_29-b11-402-11M3527)
Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02-402, mixed mode)
Note

參考資料