いま、svn リポジトリにアップしたソースコードから開発環境を戻しているんだが、超ハマり。
相手は何かと言えば ...
- Eclipse の 動的 Web プロジェクト
- Maven2 でプロジェクトを構成している
- Spring を使用している(web.xml 内で ContextLoaderListener を呼び出している)
- ソースは全て svn に入れているが、.classpath, .project ファイルは svn に入れない
- Subversive で svn から新規プロジェクトを作成
- M2Eclipse で プロジェクト構成の更新を行い
- STS の Spring プロジェクト・ネーチャーを追加
- サーバーで実行を行う
- → ここでエラー
2010/10/20 21:53:02 org.apache.catalina.core.StandardContext listenerStart 致命的: クラス org.springframework.web.context.request.RequestContextListener のアプリケーションリスナの設定中にエラーが発生しました java.lang.ClassNotFoundException: org.springframework.web.context.request.RequestContextListener at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4078) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4630) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardHost.start(StandardHost.java:807) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445) at org.apache.catalina.core.StandardService.start(StandardService.java:519) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:581) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) 2010/10/20 21:53:02 org.apache.catalina.core.StandardContext listenerStart 致命的: クラス org.springframework.web.context.ContextLoaderListener のアプリケーションリスナの設定中にエラーが発生しました java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4078) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4630) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardHost.start(StandardHost.java:807) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445) at org.apache.catalina.core.StandardService.start(StandardService.java:519) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:581) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) 2010/10/20 21:53:02 org.apache.catalina.core.StandardContext listenerStart 致命的: 前のエラーのためにアプリケーションリスナのインストールをスキップします 2010/10/20 21:53:02 org.apache.catalina.core.StandardContext start 致命的: Error listenerStart 2010/10/20 21:53:02 org.apache.catalina.core.StandardContext start 致命的: 以前のエラーのためにコンテキストの起動が失敗しました [/xxxxxxxxxx]
で、いろいろ原因を探った結果、なんか Server (Eclipse 上で動くやつね)で起動する時に、Maven のライブラリがデプロイされていないっぽい???
そんで、以前の環境を確認したら、.classpath ファイルの中身に違いを発見
前のは
で、今のは
ま・て・よ、、、
これか!?この部分か!?
で、試したらエラーは解決して、実行でけた!!
よかった~
しかし、この値って、どこで操作して設定するものなんだろうか ... 疑問は残る
※ 追記
判明した!!
パッケージ・エクスプローラーを右クリックして、プロパティを選択すると出てくる「*** の プロパティー」ウィンドウの左のツリーの中に「Deployment Assembly」というのがあって、ここを操作すると、.classpach ファイルと .settings/org.eclipse.wst.common.component ファイルの両方を操作するっぽい
スッキリした~
0 件のコメント:
コメントを投稿