2/25/2013

更新Java for MAC OS X 2013-001後,如何重新啟用Java SE 6 Applet插件(Java for MAC OS X 2013-001: How to re-enable the Apple-provided Java SE 6 web applet plug-in and Web Start functionality)

前言

日前(2013/2/20)蘋果發佈了Java for OS X 2013-001的更新

說了很多關於Java不安全之類的,然後更新之後會把Java SE 6給停用(當然你也可以一直忍住不按更新,那App Store上就會一直有個紅色的小1在上面),並且要求用戶去Java官網下載使用最新的Java 7。
重點來了,還是那個老問題,Java 7很安全,但EBS的伺服器端絕大多數還是只認Java SE 6,用了Java 7去開EBS的Form它還會顯示你的版本太老舊呢!
所以現在下面就是怎麼把Java SE 6給招回來的過程。

行前確認

在繼續之前請確認兩件事:
1)已更新Java for OS X 2013-001
2)已下載並安裝Java官網上最新版本的Java 7

最後還要確認一件事,就是你的Form起不來了。如果有起來,表示你們家DBA佛心來的,更新了伺器端的Java版本。那就不必這麼大費周張把客戶端改回Java SE 6了。

寫在前面

這個re-enable的解決方案是由蘋果官方所釋出,我只是把過程用中文說明,並且加上自己的經驗,當然你覺得想看英文的原版比較爽那就直接從這轉出:

Java for OS X 2013-001

Show Time

1)打開終端機。找不到或者不知道終端機在哪的,請使用Spoltlight,也就是Mac桌面右上角的小放大鏡,叫出來輸入「終端機」三個字,它就會送你一個終端機了。

2)進入終端機後,輸入下列命令(在Library/Internet Plug-Ins下建一個資料夾disabled):
sudo mkdir -p /Library/Internet\ Plug-Ins/disabled 

3)接著執行(將Java 7的插件移到新建的disabled資料夾):
sudo mv /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin /Library/Internet\ Plug-Ins/disabled
4)接著執行(Java SE 6會從以前的版本重新建立一個替身到plug-in資料夾):
sudo ln -sf /System/Library/Java/Support/Deploy.bundle/Contents/Resources/JavaPlugin2_NPAPI.plugin /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin 
5)最後執行:
sudo ln -sf /System/Library/Frameworks/JavaVM.framework/Commands/javaws /usr/bin/javaws

p.s.

如果上述的作業都執行完還是沒辦法正常啟用Java,請參考上一篇日誌

2/19/2013

解決Mac OSX Java JRE 6被擋無法啟用

引述:

蘋果透過安全下載項目列表(XProtect.meta.plist)將Java 6 update 37及Java 7 update 12(含)以前的版本給封鎖了,並強迫用戶升級至Java 7 update 13,但是絕大多數的Oracle E-Business Suite的伺服器端都還停留在Java 6的版本,如果客戶端升級至Java 7就會發生無法正常啟用Form的慘劇。
其實目前Oracle已經有解決方案將EBS伺服器端升級為Java 7,但是我相信與其在那邊求DBA為你一個人上Patch還不如乖乖繼續用Java 6,省得還要聽那些沒用過Mac的人又在那邊說些小心眼的話(真的要唸就請先用過Mac以後我們再來戰,好嗎)。

解決方案:

說在前頭,以下步驟會涉及終端機操作,請小心服用

1)取消「自動更新安全下載項目列表」,取消後蘋果才不會偷偷在背後又把Java給擋了

打開「系統偏好設定」->「安全性與隱私」->「進階」(記得先把左下角的鎖頭解開)->取消「自動更新安全下載項目列表」的勾選

2)修改「XProtect.meta.plist」內容

打開工具程式裡面的「終端機」,輸入下列指令:
sudo nano /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/XProtect.meta.plist