2008-10-03 30 views
11

我有一個需要JRE v1.5_12才能正常工作的第三方小程序。用戶正在安裝JRE v1.6.07或更高版本。它曾經是1.5以下的版本,我可以在機器上安裝多個JRE,並指定使用哪一個JRE,但是1.6版本的Apepars會被打破。我如何告訴瀏覽器我想使用v1.5_12而不是最新版本?如何爲瀏覽器applet指定特定的JRE?

+3

當你使用1.6時會破壞什麼? – Milhous 2008-10-03 22:50:46

回答

14

出於安全原因,您不能再強制它使用較舊的JRE。說版本12有一個巨大的安全漏洞,每個人都安裝版本13來修補它。邪惡的Java小程序可能只是說「請運行12版本」,然後執行他們的攻擊,使補丁無用。

最有可能的是,您有一些帶有安全漏洞的代碼,新JRE會阻止它,因爲這會導致安全風險。修復你的代碼,應該是非常小的改變,那麼你不必擔心。

有關更改的更多信息,請參見this page

1

新的小應用程序引擎(當Sun得到正式運輸時將附帶1.6u10)可爲您提供巨大的控制權。在6u10上獲得足夠的系統需要一段時間才能真正依賴功能(除非你是公司) - 但它即將到來(看起來大概是5年後)。

這裏的描述這個在一個很高的水平JavaWorld的文章:article text

6u10中也有一個部署工具包,提供超易於使用的JavaScript片段,您可以在您的小程序的部署頁。這些代碼片段處理JRE版本檢查,用戶通知,按需下載JRE,以及許多其他方面的麻煩(不是不可能,只是一個痛苦)。部署工具包設計時會失敗,所以如果安裝了6u10或更高版本的話,它會發生令人驚奇的事情,並且對於較老的JRE而言恢復到正常行爲。

對於新的applet引擎來說,真正好的一點是,它運行在與瀏覽器不同的進程空間中。這有幾個非常大的優勢,包括能夠在不同版本的JRE中運行多個applet(是的,您可以指定不同的所需JRE,包括限制您支持的JRE的新舊程度 - applet引擎將如果可以的話,重新使用JRE,但如果需要,它可以啓動不同的JRE)。