2015-07-22 130 views
4

我們有一個使用javaws的Java web應用程序。它可以在Java 8更新40下正常運行,但是在Java 8更新51下,jp2launcher.exe只是停止運行,而不啓動應用程序。Java Web Start應用程序在jre8u40下運行,但不是jre8u51

我在C:\ Users \ me \ AppData \ LocalLow \ Sun \ Java \ Deployment \ log中找到了日誌,但它們在j8u40和j8u51之間是完全相同的(當然除了裝入jars命令,jre版本和發佈時間)。

我已經使用進程監視器記錄了這兩個jre版本的啓動。在j8u51下,jp2launcher.exe僅以結果「SUCCESS」退出。比較兩個procmon日誌,我不能挑出任何不尋常的東西。他們都搜索了C:\ Users \ me \ AppData \ LocalLow \ Sun \ Java \ Deployment目錄以及它們各自的C:\ Program Files \ Java \ jre1.8.0_XX \ lib目錄等等,但是隻有j8u51退出。

Windows事件日誌不顯示任何Java相關的東西。

有沒有其他地方可以查找診斷信息?有什麼可能會出錯的建議嗎?

更新:我已經成功運行了帶有set "JAVAWS_VM_ARGS=-Xcheck:jni -XX:-TraceClassLoadingPreorder -XX:+PrintCommandLineFlags -verbose:jni -verbose:class -verbose:gc -XX:+PrintGCDetails -Djava.util.logging.config.file=C:\misc\logging.properties"的jnlp並記錄了stdout/stderr。它看起來像javaws和jp2launcher登錄到輸出,然後jre8u40和jre8u51版本終止。據推測,在j8u40版本中,它啓動另一個jp2launcher.exe來運行該應用程序。

比較兩個輸出日誌沒有任何意義。這些類以幾乎相同的順序加載,大部分是相同的類,除了一些差異之外,這些差異只是使用更新的類才能解釋。

進一步更新:我已經能夠使用java.exe直接啓動應用程序,通過從服務器安裝獲取客戶端文件並將它們解壓縮。該應用程序本身在jre8u51下運行得很好,所以問題肯定在於javaws本身。

update3:清除緩存並不能解決問題。這個問題發生在不同的機器上,即使是全新的Java安裝。

update4:作爲一個實驗,我剛剛在Ubuntu Linux下嘗試過。我們的產品在技術上不支持Linux,但我認爲我會嘗試。碰巧,行爲是相同的!在jre8u40下應用程序啓動,並且在jre8u51下它不會!

5:事實證明問題也發生在u45下,這是在u40之後立即更新。所以,這個原因似乎是在u45而不是u51中改變的。

+0

也許它是jnlp文件中的內存大小。嘗試一下。 –

+0

沒有運氣。堆最大值設置爲1024mb;設置初始堆並沒有幫助,也沒有刪除所有堆參數並使用默認值,也沒有設置最大值爲32mb。設置爲8mb導致內存不足錯誤,所以至少它是尊重這些設置... – Len

+0

如果您將show console設置爲java設置並雙擊jnlp文件,您將無法獲得控制檯輸出? –

回答

0

Got it!

有一些互動元素在這裏:

  • 的JNLP包含的Java 6和Java 7運行於Java 8 J2SE元素,看來,它使用Java 6項。
  • Java 6條目指定VM參數,而Java 7條目不指定VM參數。
  • 經過反覆試驗,我確定-XX:+ CMSIncrementalMode VM參數是導致它失敗的原因。我不知道這個arg是幹什麼的,但顯然JRE8u45 +不喜歡它。
  • 我下載並修改了jnlp來測試以上。要讓javaws實際使用我的更改,我必須刪除根jnlp元素的href屬性。否則,javaws會忽略我的更改並使用服務器上的jnlp副本。

我目前的假設是JRE8u45 +有一個錯誤,它使用來自錯誤版本的VM參數。

我剛剛測試了1.6,1.7和1.8條目的自定義jnlp,其中1.6條有vm參數,1.7和1.8條沒有。

  • Javaws不會提示「應用程序想要使用Java 7,但是您應該使用系統上最新的一個,是嗎?」。因此,此時已經認識到在那裏有1.8個條目。
  • 但是,它無法啓動應用程序。因此,在那個時候,它一定對它所處的jnlp元素感到困惑。

因此,它看起來像解決方法是從服務器端的jnlp中刪除-XX:+ CMSIncrementalMode VM arg。

相關問題