2017-05-28 57 views
0

我有一個加載小程序的網頁。如果我安裝了32位jre,一切正常,但是當我只有64位jre時,只要打開頁面,IE 11就會崩潰。另外,當我保持32位和64位時,無論我保留在我的環境變量中,頁面加載但是applet由32位jvm運行,即使我沒有把它的路徑放在任何地方也是如此。爲什麼當我用64位jvm中的小程序打開一個頁面時,IE 11會崩潰,但對32位jvm可以正常工作?

32位和64位版本都是相同的,即8u51。

我也嘗試禁用IE的所有附加組件,但沒有運氣。沒有日誌沒有生成任何東西,所以我不知道在哪裏看。

我能想到的唯一原因是存在一些dll衝突。我在applet中使用JNI。

另外,爲什麼當我沒有指定任何地方時,它自己選擇32位jvm?

+0

備註:Applets已棄用,瀏覽器正在移除Java支持。如果您確實需要它,請改用Java Web Start。 – BackSlash

+0

我懷疑這是因爲瀏覽器是32位的,而它又必須將32位JVM加載到它自己。它不啓動外部JVM。 – KevinO

+0

我害怕,但我必須使用小程序。此外,瀏覽器是64位。我已經檢查過了。 –

回答

0

在開發工具控制檯中鍵入navigator.platform ...它會告訴你當前IE框架的位數。 IE中的文件>屬性菜單將告訴你該站點映射到哪個IE安全區...默認情況下,只有受信任和內部網區域中的站點纔會使用32位進程(ActiveX)...您應該同時部署32位和64位Java JRT到64位機器.... 32位機器(粗糙的)將只運行32位進程,無論它放置在IE安全區域中...

相關問題