web-dev-qa-db-ja.com

java.lang.ClassNotFoundException:org.springframework.web.context.ContextLoaderListener

私は含まれています:

  • すべてのSpringライブラリ

  • Apache Tomcat 7.0ライブラリ

    ビルドパス内

それでもエラーが発生します。

SEVERE: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
Java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
    at org.Apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.Java:1676)
    at org.Apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.Java:1521)
    at org.Apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.Java:415)
    at org.Apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.Java:397)
    at org.Apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.Java:118)
    at org.Apache.catalina.core.StandardContext.listenerStart(StandardContext.Java:4660)
    at org.Apache.catalina.core.StandardContext$1.call(StandardContext.Java:5226)
    at org.Apache.catalina.core.StandardContext$1.call(StandardContext.Java:5221)
    at Java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.Java:303)
    at Java.util.concurrent.FutureTask.run(FutureTask.Java:138)
    at Java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.Java:886)
    at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:908)
    at Java.lang.Thread.run(Thread.Java:662)
Jun 2, 2011 11:07:38 AM org.Apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class org.springframework.web.context.request.RequestContextListener
Java.lang.ClassNotFoundException: org.springframework.web.context.request.RequestContextListener
    at org.Apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.Java:1676)
    at org.Apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.Java:1521)
    at org.Apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.Java:415)
    at org.Apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.Java:397)
    at org.Apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.Java:118)
    at org.Apache.catalina.core.StandardContext.listenerStart(StandardContext.Java:4660)
    at org.Apache.catalina.core.StandardContext$1.call(StandardContext.Java:5226)
    at org.Apache.catalina.core.StandardContext$1.call(StandardContext.Java:5221)
    at Java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.Java:303)
    at Java.util.concurrent.FutureTask.run(FutureTask.Java:138)
    at Java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.Java:886)
    at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:908)
    at Java.lang.Thread.run(Thread.Java:662)
Jun 2, 2011 11:07:38 AM org.Apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class com.Sun.faces.config.ConfigureListener
Java.lang.ClassNotFoundException: com.Sun.faces.config.ConfigureListener
    at org.Apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.Java:1676)
    at org.Apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.Java:1521)
    at org.Apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.Java:415)
    at org.Apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.Java:397)
    at org.Apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.Java:118)
    at org.Apache.catalina.core.StandardContext.listenerStart(StandardContext.Java:4660)
    at org.Apache.catalina.core.StandardContext$1.call(StandardContext.Java:5226)
    at org.Apache.catalina.core.StandardContext$1.call(StandardContext.Java:5221)
    at Java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.Java:303)
    at Java.util.concurrent.FutureTask.run(FutureTask.Java:138)
    at Java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.Java:886)
    at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:908)
    at Java.lang.Thread.run(Thread.Java:662)

「org.sprintframework.web-3.1.0.M1.jar」では、「org.springframework.web.context.ContextLoaderListener」が見えます。

Googleの誰かがspring.jarを含めるべきだと言っていますが、3.xディストリビューションにはspring.jarがありません。

Eclipse 3.6.2 Tomcat 7

編集:誰かが "自動的に依存関係を更新する"がプロジェクトプロパティでチェックされるべきであると言いますが、私はプロジェクトプロパティでそのようなものを見ません。 ClassNotFoundException:org.springframework.web.con text.ContextLoaderListener

274
Emerald Hieu

Eclipseで管理されているTomcatでSpring Webアプリケーションを実行しているときにも、同様の問題がありました。私はこの問題を解決するために、プロジェクトのWeb配置アセンブリにMavenの依存関係を追加しました。

  1. プロジェクトのプロパティを開きます(たとえば、プロジェクトエクスプローラでプロジェクトの名前を右クリックして[プロパティ]を選択します)。
  2. 「配置アセンブリ」を選択します。
  3. 右側の余白にある[追加]ボタンをクリックします。
  4. Directive Typeのメニューから「Java Build Path Entries」を選択し、「Next」をクリックしてください。
  5. Java Build Path Entriesメニューから「Maven Dependencies」を選択し、「Finish」をクリックします。

Webデプロイメントアセンブリの定義に「Mavenの依存関係」が追加されているはずです。

754
Marcelo

Eclipse WDTを使っているときにも同じことが時々起こります。これが変更されていない以前に作業していたプロジェクトに起こったときの、その特別な欲求不満これは私がこの最後のシナリオでそれを修正するためにすることです:

  1. Tomcatを停止します(実行中の場合)
  2. [サーバー]ビューを開きます。ウィンドウ>ビューの表示>その他>サーバー>サーバー
  3. Tomcatサーバー> Clean Tomcat作業ディレクトリを右クリックします。
  4. Tomcat Serverを右クリックし、[クリーン]をクリックします。
  5. サーバーを再起動します

これは通常あなたが言及した問題を修正します。

110
Chepech

あなたは「Clean Tomcat Work Directory」または単に「Clean ..」を試すことができます。これは、公開されているすべての州を破棄し、最初から再公開することになっていました。

26
Mashrur

IntelliJ IDEAを使用しました。コンパイルは成功しましたが、Tomcatを起動すると、次のようになります。

Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
Java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

当初、JARが欠落していると思いましたが、その場所にありました。

解決策:File > Project Structure > ArtifactsOutput Layoutの右側のパネルをダブルクリックしてください。Available ElementsMaven:...のような名前のライブラリです、それは左ペインのWEB-INF/libに移動されます。

Tomcatを受け入れて再起動します。

22
乌鸦不会飞

これは確かにEclipse関連の問題です。私のために働いたことはEclipseのサーバータブで新しいサーバーを作成することです。それから、この新しいサーバーでアプリケーションを実行してください、それは動作するはずです。

8
Aditya Gaikwad

あなたはspring-coreの少なくともバージョン3.2.8.RELEASEを使わなければなりません。

Mavenの場合は、pom.xmlを設定します。

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>3.2.8.RELEASE</version>
</dependency>

出典: http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/cglib/core/SpringNamingPolicy.html 3.2.8以降。

7

上記のすべてがうまくいかない場合は、以下を試してください。それは私のために働きました。

プロジェクトをサーバーから削除します>サーバーを再起動>プロジェクトをサーバーに追加>サーバーを再起動します。

詳細な説明:

1. Right click on server > Add and Remove
2. Select your project > Remove > Finish
3. Restart your server
4. Right click on server > Add and Remove
5. Select your project > Add > Finish
6. Restart your server again.
6
Susie

Eclipse Lunaのためのソリューション:

  1. Maven Webプロジェクトを右クリック
  2. [プロパティ]メニューをクリックします
  3. ポップアップウィンドウの左側にある[Deployment Assembly]を選択します。
  4. ポップアップウィンドウの右側にある[追加]ボタンをクリックします。
  5. ポップアップウィンドウがもう1つ表示されます(新しいアセンブリディレクティブ)
  6. 「Java Build path entries」をクリックします。
  7. 「次へ」ボタンをクリック
  8. [完了]ボタンをクリックし、[新しいアセンブリディレクティブ]ポップアップウィンドウを自動的に閉じます。
  9. [適用]ボタンをクリックし、Okボタン
  10. Webアプリケーションを実行する
4
Radhakrishnan S

Tomcat 7ランタイム用に構成されたEclipseプロジェクトについても同じ問題に直面していました

プロジェクトを右クリックしてプロジェクトのプロパティに移動します。 Deployment Assemblyをクリックします。私はコンパイル時にユーザーライブラリを使って作成した私の春のライブラリjarが欠けていることに気づくでしょう。 jarを追加するだけで、Tomcatの起動中にコンソールにエラーが表示されなくなります。

4
abhi

もしあなたがmavenを使っているのであれば、おそらくプロジェクトはまだ構築されていません。最初に 'mvn clean package'を実行してから、再度デプロイし直してください。

4
gouki

実はこれはTomcatの問題です。 プロジェクトの 'lib'フォルダに行き、 'Spring'関連のjarファイルをすべてこれにコピーしてください。あなたのプロジェクトをリフレッシュしてください。 TomcatがSpringコアクラスを見つけることができないため、この問題がいつか解決しません。

3
Rahul Sharma

IntelliJ IDEAを使用していて、Tomcatサーバーにアプリケーションをデプロイしている場合は、[ファイル]メニュー - > [プロジェクト構造] - > [案件]をクリック - > jarを選択して右クリック - > WEB\libに配置 - > restart server enter image description here

2
harun ugur

Mavenを使用している場合は、<packaging>war</packaging>をpom.xmlに入れてください。その場合、たぶんそれは瓶包装であります

デプロイメントアセンブリにMavenライブラリが必要です。

1
Robson Martins

私にとっての修正は私のWebアプリケーションモジュール> Maven> Update Projectを右クリックすることでした。

1
TheBakker

私は同じ問題を抱えていました。私のpomに spring-web dependency を追加することで解決しました。 ContextLoaderListener classを拡張したspring-web jarを使用して、ContextLoaderがServletContextListenerを実装し、パッケージorg.springframework.web.contextに存在することを確認してください。 3.0.4を使用しました。

1
Asif Khan

私は同じ問題を抱えています、そして私は上記のステップを使用してそれを解決しました。

RC(Webプロジェクトを右クリック) - >プロパティ - > Deployment Assembly - >追加 - > Javaビルドパスエントリ - >次へ - >

次へをクリックした後、オプション「次へ」と「フィッシュ」が無効になっている唯一の空白のウィンドウが表示されます。

1
Geo Thomas

私は同じ問題に直面しました。

サーバーを構成から削除し、Eclipseを再始動した後でそれをサーバー・ランタイム環境に追加することによって追加し直しただけです。

1
Ramashis

このような状況に最も適した簡単な解決策の1つは、作業スペースの.metadataフォルダを削除してからプロジェクトを再度インポートすることです。あなたが他のすべてのオプションを試みるならば、それは成功を保証しません。時々上記の解決策はあなたがこの設定を修正するためにあなたの貴重な時間を費やすことになるいつかうまくいくでしょう。

ある日私は私のワークステーションをきれいにすることにしました。私はプロジェクトをそれぞれのクライアントに応じて適切なフォルダに配置しました。結果として、すべてがめちゃくちゃになりました。丸一日を過ごした後、それは決まった作業スペースに行き着きませんでした。翌日、作業スペースの.metadataフォルダを削除し、すべてのプロジェクトをもう一度インポートしました。ビンゴ全セット。

1

私も同じ問題に直面していました....そして以下のステップに従って解決しました:

RC(Webプロジェクトを右クリック) - >プロパティ - > Deployment Assembly - >追加 - > Javaビルドパスエントリ - >次へ - >見つからないjarファイルの選択 - >次へ - >終了

アプリケーションは正常に実行されています...

1
Neel

Gradleユーザーの場合、以下の手順で動作します

1) 停止して削除 Tomcatサーバーから サーバー EclipseのTab

Eclipse Tomcat tab

2)TomcatインストールからWebアプリケーションと作業ディレクトリをクリーンにします 、(参照、 How-To:Tomcatのキャッシュをクリアして古いJSPの問題を修正します

$ rm -r /usr/local/AT7028/work/*
$ rm -r /usr/local/AT7028/webapps/WAR_NAME

3)ビルドツールを使用してプロジェクトをクリーンにして省略表示する

$ ./gradlew clean Eclipse // mvnユーザーのそれぞれのコマンドを起動します、$ mvn clean package

4)Eclipseで新しいTomcatサーバーを設定し、プロジェクトをもう一度実行します。

1
prayagupd

私も同じエラーがありました。 POMファイルに以下の依存関係を追加していません。

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>4.1.7.RELEASE</version>
  </dependency>

しかし、私のこのプロジェクトは、この依存関係を追加する前から実行されていました。しかし、ある時点でそれは停止し、上記の同じエラーを出し始めました。

誰もがこのエラーを解決できない場合、彼らはこれで解決することができます link

1
user2493028

私が試した

  • プロジェクトクリーンmvn
  • クリーン
  • tomcat作業ディレクトリを自動的にクリーンにする
  • 依存関係を更新する

少なくとも一時的に機能した唯一のことは、Web Deployment Assemblyの定義にMavenの依存関係を追加することでした。

しかし、これは永遠に機能しません!数日後、それは機能しなくなります。私の解決策は、Maven Dependenciesを削除し、変更を加え、そしてMaven Dependenciesをもう一度追加することでした。

私は使っています - Eclipse Juno - 組み込みmaven - Tomcat 7

1
Volker Demel

「プロジェクト構成の更新」を使用すると、プロジェクトのビルドパスがめちゃくちゃになりました。

修正: "ビルドパスの設定..."メニュー(プロジェクトを右クリック)を開き、各ソースフォルダの[含む/含まない]オプションを修正します。それは私のために働いた。

0
kiwifrog

上記の方法でうまくいかない場合は、リスナクラスから.classを削除してください。

<listener>
<listener-class>

org.springframework.web.context.ContextLoaderListener.class

</listener-class>
</listener>
0

私が解決策を見たとき、問題は常にSpringライブラリがロードされるのを妨げるものであるように思われます。依存関係の問題または展開の問題が考えられます。

私の場合、どういうわけか破損しているのはMavenリポジトリでした。問題を解決したのは、フォルダ `C:\ Users(私の名前).m2\repository 'を削除して再構築することでした。

0
Florian F

私にとっての実際の解決策は "m2e-wtp - WTP用のMaven統合"をインストールすることでした。その場合、Marceloの解決策は必要ではありません。

0
Christian

多くの場合、Javaファセットの問題ですが、jdkまたはjreまたはjspのバージョンは、mavenプロジェクトの顔とは異なります。

0
Ali.Mojtehedy

私は自分のビルドパスにlibがあったが私の配備アセンブリにはなかったときにこれを得ました。 context.xmlが見つからない場合も同様です。

0
Noumenon

私はこれを四半期に数回走った。今回は、私のgit diffに最小限の変更の要約を示し、Eclipseでクラスパスをリセットする(私のWEB-INF/lib依存関係が欠けている)という問題を追跡しました。これは私が親/兄弟のmavenプロジェクトを引っ張ったり引っ張ったりするときはいつでも起こるようです。

Tomcat Webコンテナlibにあなたの春のjarファイルを追加することについての言及があります - これは大丈夫であり、ほとんどのEEサーバーが実行する方法です。ただし、Tomcatのクラスローダーツリーの中で春を上に配置することで、あなたはあなたの戦争コンテキストのクラスローダーレベルよりも上に走ることになることに注意してください。ライブラリは戦争ごとの低レベルのクラスローダに残すことをお勧めします。

Eclipseで構造上のプロジェクトを変更した後の切り捨てられた.classpathの後に、次のように表示されます。

Dec 18, 2016 11:13:39 PM org.Apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class org.springframework.web.context.request.RequestContextListener
Java.lang.ClassNotFoundException: org.springframework.web.context.request.RequestContextListener

私のクラスパスがリセットされ、WEB-INF/lib依存関係が削除されました。

<classpathentry kind="con" path="org.Eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
    <attributes>
        <attribute name="maven.pomderived" value="true"/>
        <attribute name="org.Eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
    </attributes>
</classpathentry>

戻す

<attribute name="org.Eclipse.jst.component.dependency" value="/WEB-INF/lib"/>

そしてあなたは大丈夫でしょう。

ありがとう/マイケル

0
Michael O'Brien

これは、Gradleを使用してIntelliJプロジェクトでHibernateマッピングを変更した後に起こりました。プロジェクトを再構築するだけでうまくいきました。

0
Patience Mpofu

これは私のために働く..

Maven Webプロジェクトを右クリックします「プロパティ」メニューをクリックしますポップアップウィンドウの左側にある「展開アセンブリ」を選択しますポップアップウィンドウの右側にある「追加...」ボタンをクリックしますもう1つのポップアップウィンドウが表示されます(新しいアセンブリディレクティブ) 「Java Build path entries」をクリックします「Next」ボタンをクリックします「Finish」ボタンをクリックし、New Assemby Directiviesポップアップウィンドウを原子的に閉じます「Apply」ボタンをクリックし、Okボタンをクリックします

0
user6425667

私の場合、問題はクラスがtestパッケージにあることでした。 mainパッケージに移動すると、問題は解決しました。

0
madox2