3

私は、Maven を使用して eclipse で春を使用して Java プロジェクトに取り組んでおり、Tomcat サーバー v6.0 で実行しています。昨日の朝からすべてが正常に機能していました。

ここで彼の問題:私は自分のプロジェクトを構築しています。ビルドは成功しました。次に、Tomcat サーバーを起動すると、次のエラーが発生しました。

org.springframework.beans.factory.parsing. BeanDefinitionParsingException : 構成の問題: URL の場所[classpath:applicationContext-core.xml]から Bean 定義をインポートできませんでした

問題のあるリソース: ServletContext リソース [/WEB-INF/applicationContext.xml]; ネストされた例外は org.springframework.beans.factory です。BeanDefinitionStoreException : クラスパス リソース [applicationContext-core.xml] から XML ドキュメントを解析中に IOException が発生しました。ネストされた例外は java.io. FileNotFoundException : クラスパス リソース [applicationContext-core.xml] が存在しないため、開くことができません

いくつかのWebサイトで同様の問題を見つけましたが、どれも私に役立つ解決策を提供してくれませんでした.

私がこれをやっているとき、EclipseはapplicationContext-core.xmlを見つけることができないようです:

<import resource="classpath:applicationContext-core.xml" />

ただし、applicationContext-core.xml を含む WEB-INF/lib に、必要な jar ファイル nad-core-0.0.1-SNAPSHOT.jar があります。

クラスパスに手動で追加しようとしましたが、まだ同じ問題がありました。

私は解決策を探し続けています.Eclipseを再起動してビルドした後、Eclipseがまだインデックスを更新していて、プロジェクトがdefaultではなくHg status pendingという奇妙なステータスを持っていたときに、突然再び機能するようになりました。この結果に驚いて、Eclipse を再起動した後にプロジェクトを再度ビルドすることにしました。またエラーが発生し、再び動作させることができました。かなり面倒くさい…

これは本当にランダムな問題のようです。

助けてくれてありがとう:)

4

2 に答える 2

3

Web アプリケーションの構造を指定していないためです。次の構造を持つ単純な Web アプリケーションが手元にあると仮定します。

  • ウェブアプリ
    • WEB-INF/classes/applicationContext.xml
    • WEB-INF/lib/nad-core-0.0.1-SNAPSHOT.jar/applicationContext-core.xml

アプリケーション context.xml は、import タグを使用して applicationContext-core.xml ファイルを参照します。私は Web アプリケーションで同様の状況に遭遇しました。以下はチェック リストであり、その中の 1 つがあなたの状況に適用できる可能性があります。

  1. 生成されたスナップショット jar ファイルで applicationContext-core.xml ファイルを確認し、それが jar のルート ディレクトリにあることを確認します。ばかげているように聞こえますが、これが私の展開で直面した問題の根本原因でした。
  2. リソース フォルダーからこの XML ファイルを含めるように Maven Pom.xml ファイルが構成されていることを確認します。Maven のビルド フェーズでリソース タグを使用して、それらを jar ファイル自体にパッケージ化できます。
  3. アプリケーションの context.xml ファイルから import タグを削除してみてください。代わりに、Spring の webapplication コンテキスト自体から両方をロードしてください。
    1. spring からコンテキスト ローダー リスナー クラスを追加するorg.springframework.web.context.ContextLoaderListener
    2. classpath:applicationContext-core.xml,classpath:applicationContext.xmlでcontext-param contextConfigLocationを追加します。Spring には、Bean ファクトリを開始するに依存関係を動的に分類する機能があります。

このチェックリストがお役に立てば幸いです。

于 2013-07-23T11:36:57.890 に答える
0

私はほとんど同じ構成を取得します.6年後、同じエラーが発生しました.

Eclipseも再起動しましたが、問題は解決しました。

于 2019-11-04T16:26:00.040 に答える