星期二, 6月 30, 2015

Java Web Start - ArrayIndexOutOfBoundException: 8

最近一連檢查到三部主機(Windows Server 2008 R2 64 bit)都有同樣的問題:首先是因為要裝 Jenkins Slave (JNLP),不是最新版 JRE 會有問題,所以升級到 Version 8 Update 45。升級後有的是在跑 JNLP 時出錯,有的更糟,在驗證 Java 安裝版本就不行了,錯誤都如標題,取代了我們期望的 Applet 簽署說明。





























首先,不論 IE 版本(8~11)為何,一律恢復原廠設定,再關閉 Server 上瀏覽器的增強式安全性設定 ESC;接著奇怪的解法來了(在 IE 設定):
  • 網際網路選項
  • 連線
  • LAN 設定
  • 自動設定
  • 自動偵測設定<-勾選
為何瀏覽器的代理伺服器設定這麼重要?因為 Java Console 的網路設定預設「依瀏覽器設定」,而 JNLP 或 Applet 的下載都是透過 Java Console 設定控制,這也提示了另一種解法,直接修改 Java Console 的網路設定。
至於 IE 的代理伺服器「自動偵測設定」為何沒有勾選?還不清楚。因為重新安裝了幾次乾淨虛擬機,或升級新版瀏覽器,或恢復出廠預設值,這裏總是在已勾選狀態的。

沒有留言:

張貼留言