2008年5月15日木曜日

JSFアプリが動作しない

JSF11TestというJSFアプリをつくりその中のtest.jspにアクセス(http://localhost:8080/JSF11Test/faces/test.jsp)したが、"HTTPステータス 404 - サーブレット Faces Servlet が利用できません"と表示され、動作しない。
環境は下記のとおり。
eclipse 3.3
Tomcat6
Apache MyFaces 1.1.5

原因は、動的Webプロジェクト(JSF使用)のウィザードのJSF機能のところで、ライブラリーの配置にチェックを入れていなかったことが原因だった。このためWARファイル内にJSFライブラリーが配置されていなかったため起動できなかった模様。

デフォルトでチェックしてくれればいいと思うのだが…

プロジェクト作成後でも、eclipseメニューのプロジェクトの設定のJ2EEモジュール依存関係のところでJSFライブラリーにチェックを入れれば配置されるようになる。

========================================================
2008-05-15
この症状のときは、
C:\Program Files\Apache Software Foundation\Tomcat 6.0\logs\localhost.2008-xx-xx.log
に下記のようなログが出ることもある模様。
----------------------------------------------------------------
2008/05/15 1:08:10 org.apache.catalina.core.ApplicationContext log
致命的: Error loading WebappClassLoader
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
org.apache.catalina.loader.StandardClassLoader@1113708
javax.faces.webapp.FacesServlet
java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1360)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1206)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1083)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4058)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4364)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:829)
at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:718)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1215)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
at java.lang.Thread.run(Unknown Source)
----------------------------------------------------------------

0 件のコメント: