NoClassDefFoundErrorの処理(xmlreadersクラスを初期化できないピットに遭遇した)
この記事は、プロジェクトをtomcatに公開する際に発生する問題のみを対象としています(その他の問題は動作しない場合があります)。
NoClassDefFoundErrorとClassNotFoundExceptionの違いについて
java.lang.ClassNotFoundExceptionとjava.lang.NoClassDefFoundErrorは、どちらもJavaのクラスパスに関連するエラーですが、全く別のものです。NoClassDefFoundErrorは、JVMが動的実行時に、指定したクラス名に基づいてクラスパスから該当するクラスを探してロードしますが、クラスを見つけられないときに、java.ClassDefFoundExceptionが表示されます。 lang.NoClassDefFoundErrorのエラーが発生しますが、ClassNotFoundExceptionの場合はコンパイル時にエラーが発生し、その原因がすべて環境の問題であることがわかっているので、NoClassDefFoundErrorより解決しやすいのです。また、J2EE環境で作業をしていてNoClassDefFoundError例外が発生し、そのエラーに該当するクラスが存在する場合、そのクラスはおそらくクラスローダーから見えていないことを意味します。
この例外が発生した理由についての憶測。
以下は、mavenプロジェクトの例です(私のはmavenプロジェクトなので)。
で
org.jdom.Document doc = (new SAXBuilder()).build(in);
An error is reported when
java.lang.NoClassDefFoundError could not initialize class xmlreaders
xmlreaders クラスの初期化エラー
1. まず、jdom.jarがmaven依存で導入されているかどうか(バージョンに関しては置いておきます)、導入されている場合はjarがないことによるエラーを除外する(この手順を間違えるとコンパイルが通りません)。
2、mavenプロジェクトをtomcatに公開し、WEB-INF/lib以下のjarにjdomが含まれているか確認します。
そうでない場合は、このjarが正常にデプロイされていないことがエラーの原因です。インターネットでは、デプロイメントアセンブリでこのパッケージを追加することについて多くのことが言われていますが、そうすることはお勧めしません、これは一時的にこのパッケージを追加することができるだけです、それはデプロイに失敗した理由を見つけることをお勧めします。
3. WEB-INF/lib 以下に jdom.jar パッケージがある場合、jar を解凍して開き、xmlreaders.class があるかどうか確認します。
4, 上記の3つの問題がない場合、不足している依存関係パッケージがあるかどうかを確認しに行きます。
5、私の解決策:上記のどれも私の問題ではありません、私のjdomはバージョン2.0.2であり、バージョン1.0に置き換えて動作します、多分パッケージ自体の高いバージョンに問題があるのでしょう。
関連
-
java.util.NoSuchElementException 原因解析と解決方法
-
ファインバグタイプ
-
eclipse で「アクセス制限: タイプ 'HttpServer' は API ではありません」というプロンプトが表示される。
-
Javaエラーメッセージがenclosingクラスでない
-
[オリジナル】java学習ノート【II】よくあるエラー クラスパス上のクラスファイルが見つからない、またはアクセスできない場合
-
リソースリーク:'sc'がクローズされない
-
エコー文字列を決定するためのjavaの簡単な実装をいくつか紹介します。
-
AptanaプラグインのEclipse4.5オンラインインストールと設定コードのヒントチュートリアル
-
SLF4Jarのパッケージが競合している。クラスパスが複数の SLF4J バインディングを含んでいます。
-
mvn install でローカルリポジトリにアーティファクトが見つかりませんでした。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
スレッド "main" での例外 java.lang.ArrayIndexOutOfBoundsException: 1
-
node js npm gruntインストール、elasticsearch-head 5.Xインストール
-
javax.net.ssl.SSLException: 読み取りエラー: ssl=0xdeae5100: システムコール中の I/O エラー、接続 res
-
IDEAがGitHubに接続し、認証情報が正しくない401、インバリダの認証データの問題を解決する。
-
スレッド "main "での例外 java.lang.NullPointerException どのようにそれを解決するには?
-
は、タイプ 'org.hibernate.SessionFactory' のビーンが必要ですが、見つかりませんでした。
-
プロキシステータスコード 503_HTTP ステータス 503 エラーコードとその解決策?
-
Javaラーニングノート-Collections.singletonListの使用法
-
xStream xml から java bean へ、CannotResolveClassException をスローする原因。
-
Java による木構造データの処理、csv ファイルの操作