2012-10-03 17 views
5

何者かが原因で、次のことがランダムに発生する理由が分かりました。WebアプリケーションでランダムなNoClassDefFoundエラーが発生しました

我々は桟橋の起動時に、すべての今してJRE 1.7_03でLinuxのインストールに

必ずしもすべての時間を実行しているが、突堤6.1.26で展開するWebアプリケーションを持っている - ランダムに見えるものクラス(私たちのプロジェクトから)は、NoClassDefFoundエラーのソースであるようです。 Jettyを再起動すると問題は消えます。

発生する唯一のパターンは、エラーのルートにあるクラスがJAXBアノテーションを使用して作成されているようです。

周波数のアイデアをもっと与えるには、これが1/50回起こると感じます。

このエラーの理由と理由を知りたいと思います。

+2

ランタイムクラスパスに複数のjaxb libがありますか?あなたのコンパイル時/ビルド時のクラスパス、libsを実行時のものと比較してください。違いはありますか? – Kent

答えて

1

これは役に立ちますが、Jetty 8とJava 6の注釈の問題に遭遇しました。 長い話を簡単にするため、そのバージョンで処理されている注釈は、libasmに依存しているようです。バイトコード検査。だから我々は我々が我々のクラスをコンパイルするもの

  • に注意する必要があります(たとえば、などのJDKのバージョン、...)私達は私達の依存関係を介して複数のasm/Javassistののlibrairiesを引き、読み込みを終了しない
  • を間違っている

私はJetty 6とJaxbの処理の仕方に慣れていませんが、実際にJava 7で実行することができて驚いています.Java 6でコードを実行してみてください。

+0

私は本当にjetty6をJava 7で実行することを推奨しません。これは、jetty 7.6.xまたは8.1.xとJava 7を使用する方がずっと良いですし、Java 7の最新のパッチレベルは –

関連する問題