2013-10-25

Java 更新 (7u45)

自從Java 更新到 Version 7 Update 45 的版本後,它的安全性控管調得更高了,以致於以前放在網頁中的 GeoGebra Applet 紛紛無法執行,我們可以試著用下列的方法解決。

方法一:解除 Java 安裝,重新安裝舊的 Java 版本。

方法二:
  1. 開啟控制台中的 Java 設定,然後到「安全」頁面中將「安全層次」調為「中」,再按「回復安全提示」按鈕。




  2. 接著按「全部回復」。




  3. 再來進入含有 GeoGebra Applet 的網頁時,應該會出現類似下面的安全性警告畫面,這時請按「允許」。



  4. 真正要開啟 Applet 的時候,又會出現安全警告,請按「執行」。





由方法二可知,由於 Java 的安全性問題,導致 Java 的安全控管越來越嚴格,已經到了令使用者困擾的地步了,因此有使用 Java Applet 的網頁看來要找出其他出路才行,否則這樣的網頁等於是請網友離開的意思。

難怪當年 Steve Jobs 被問到:「為何 iPad 不支援 Java?」時,賈伯斯先生反嗆:「支援 Java?!Java 已經死了!」


相關細節

  • 一篇文章中有提到:

    geogebra.jar 檔中 MANIFEST 的 Codebase 設定必須與 JNLP 指定的 JAR URL 來源一致,如果 javaws 發現實際下載 JAR 檔案的 URL 與 MANIFEST 設定不同,就會直接阻擋掉不能執行 ...。

    GeoGebra 4.2.56 的 MANIFEST 前幾行如下:

    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.8.2
    Class-Path: geogebra.jar geogebra_main.jar geogebra_gui.jar geogebra_p
     roperties.jar geogebra_export.jar geogebra_cas.jar geogebra_algos.jar
      geogebra_javascript.jar jlatexmath.jar jlm_greek.jar jlm_cyrillic.ja
     r
    Created-By: 1.6.0_27-b27 (Sun Microsystems Inc.)
    Main-Class: geogebra.GeoGebra

    ———————————————————————————————

    GeoGebra 4.2.60 的 MANIFEST 前幾行如下:

    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.8.2
    Trusted-Library: true
    Class-Path: geogebra.jar geogebra_main.jar geogebra_gui.jar geogebra_p
     roperties.jar geogebra_export.jar geogebra_cas.jar geogebra_algos.jar
      geogebra_javascript.jar jlatexmath.jar jlm_greek.jar jlm_cyrillic.ja
     r
    Permissions: all-permissions
    Created-By: 1.6.0_27-b27 (Sun Microsystems Inc.)
    Main-Class: geogebra.GeoGebra
    Codebase: *.geogebra.org

    換句話說,從 4.2.60 後,網頁中的 codebase 屬性必須來自 *.geogebra.org,否則就無法執行,這等於宣告了不可能在本機執行這些網頁了。