2012-10-03 45 views
5

想知道如果有哪位大師可以對隨機發生的原因說一說。Web應用程序中的隨機NoClassDefFound錯誤

我們有我們在碼頭6.1.26部署與JRE 1.7_03每次

不大,但是在Linux安裝運行飄飛,當碼頭啓動Web應用程序 - 這似乎是隨機的類(來自我們的項目)似乎是NoClassDefFound錯誤的來源。如果我們重新啓動Jetty,它們的問題會消失。

發生的唯一模式似乎是通過JAXB註釋填充錯誤根目錄中的類。

爲了給出更多關於頻率的想法,它會發生這種情況1/50次,如果是這樣的話。

我很想知道這個錯誤的原因和原因。

+2

你的運行時類路徑中是否有多個jaxb庫?比較你的編譯/構建時間類路徑,libs和你的運行時庫。有什麼區別嗎? – Kent

回答

1

不確定這可以幫助我們解決Jetty 8和Java 6的註釋問題。 長話短說,該版本中的註釋處理似乎依賴於libasm。字節碼檢查。因此,我們必須要小心

  • 我們編譯我們的班,(例如,JDK版本等)
  • ,我們不會通過我們的依賴拉動多個ASM/Javassist是librairies和最終負載錯誤的一個

我不熟悉Jetty 6和Jaxb處理註釋的方式,但我真的很驚訝,你可以同時運行在Java 7上。你能用Java 6運行你的代碼嗎?

+0

我真的不會推薦在java 7上運行jetty6,更好的方式是在java 7上使用jetty 7.6.x或8.1.x,以及最新的java 7補丁級別 –