●質問:3-1のサンプルに関し
3-1のサンプルをEclipse3.6とTomcat6で動作させる以下のとエラーが発生します。
考えられる原因はなんでしょうか。
org.springframework.beans.factory.CannotLoadBeanClassException
: Cannot find class [controller.IndexController] for bean with name
'indexcontroller' defined in ServletContext resource
[/WEB-INF/shopping3-1-servlet.xml];
nested exception is java.lang.ClassNotFoundException:
controller.IndexController
●回答:
ClassNotFoundExceptionという例外が発生しています。
controller.IndexControllerというクラスが見つからないためです。
これは初歩的な原因で発生する例外で、いくつもの原因が考えられます。
最も確実な解決方法として、3-1.warをTomcatの直下にあるwebappsフォルダにコピーし直してみてください。Tomcatを単体で起動すると、アプリケーションを実行できます。
Eclipse上で動作しない表面上の理由は、Tomcatのデプロイフォルダ以下のWEB-INF/classes/controllerフォルダにIndexController.classがないためです。
(WTPで実行する場合、デプロイフォルダはworkspaceフォルダ.metadata.pluginsorg.eclipse.wst.server.coretmp0wtpwebappsなどです。
Sysdeo Tomcatプラグインはworkspaceフォルダ3-1がそのまま使われます)
・IndexControllerクラスにコンパイルエラーが発生していないか
・IndexControllerクラスがソースフォルダ以下のcontrollerフォルダにあるか
・IndexControllerクラスのパッケージ宣言がcontrollerパッケージになっているか
を確認します。
ない場合は、上記の3点のいずれかが満たされていないと思われます。