2012-05-21 9 views
5

私はJSF Webアプリケーションの起動時に次の例外を取得:にjava.lang.ClassNotFoundException:org.apache.myfaces.webapp.StartupServletContextListener

SEVERE: Error configuring application listener of class org.apache.myfaces.webapp.StartupServletContextListener 
java.lang.ClassNotFoundException: org.apache.myfaces.webapp.StartupServletContextListener 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233) 
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3786) 
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) 
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) 
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) 
    at org.apache.catalina.core.StandardService.start(StandardService.java:516) 
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:578) 
    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:288) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) 

この私のweb.xmlファイルはどのよう

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
<display-name>J2S</display-name> 
<context-param> 
    <description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description> 
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name> 
    <param-value>client</param-value> 
</context-param> 
<context-param> 
    <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name> 
    <param-value>resources.application</param-value> 
</context-param> 
<context-param> 
    <param-name>org.apache.myfaces.ALLOW_JAVASCRIPT</param-name> 
    <param-value>true</param-value> 
</context-param> 
<context-param> 
    <param-name>org.apache.myfaces.AUTO_SCROLL</param-name> 
    <param-value>true</param-value> 
</context-param> 
<context-param> 
    <param-name>org.apache.myfaces.DETECT_JAVASCRIPT</param-name> 
    <param-value>false</param-value> 
</context-param> 
<context-param> 
    <param-name>org.apache.myfaces.PRETTY_HTML</param-name> 
    <param-value>true</param-value> 
</context-param> 
<listener> 
    <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class> 
</listener> 
<servlet> 
    <servlet-name>Faces Servlet</servlet-name> 
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>Faces Servlet</servlet-name> 
    <url-pattern>*.jsf</url-pattern> 
</servlet-mapping> 
<servlet-mapping> 
    <servlet-name>Faces Servlet</servlet-name> 
    <url-pattern>*.faces</url-pattern> 
</servlet-mapping> 
<servlet-mapping> 
    <servlet-name>Faces Servlet</servlet-name> 
    <url-pattern>/faces/*</url-pattern> 
</servlet-mapping> 
<welcome-file-list> 
    welcome-file>index.xhtml</welcome-file> 
</welcome-file-list> 
</web-app> 

この例外が発生したのですが、どのように解決できますか?

+1

myfaces jarがWebアプリケーションのlibフォルダにあることを確認してください。 myfacesライブラリ[here](http://www.apache.org/dyn/closer.cgi/myfaces/binaries/myfaces-core-assembly-2.1.7-bin.zip)をダウンロードできます。 – Jeshurun

答えて

10

にjava.lang.ClassNotFoundException:org.apache.myfaces.webapp.StartupServletContextListener

ClassNotFoundExceptionが挙げクラスは、アプリケーションの実行時のクラスパスに欠落していることを意味します。上記のクラスは、MyFaces JSF実装の一部です。 download MyFaces Core Distributionにファイルを展開し、/libフォルダにあるJARファイルをWebAppプロジェクトの/WEB-INF/libフォルダに配置する必要があります。 3つのmyfaces-*.jarファイルとMyFacesの船は、あなたがどちらかmyfaces-apimyfaces-impl JARファイル、/WEB-INF/lib単独myfaces-bundle JARファイルの両方を置く必要があることに注意してください。

+0

myfaces-apiとmyfaces-implを追加するとエラーが表示されますが、エラーが発生しました – jmt

+0

重大:MyFacesの初期化中にエラーが発生しました:javax.faces.context.ExceptionHandlerFactory java.lang.IllegalArgumentException:javax.faces.context。 ExceptionHandlerFactory – jmt

+1

新しい質問があるときには必ず「質問する」ボタンを押してください。 – BalusC

1

EclipseでTomcat7を使用して同じ問題が発生しました。私は必要なすべてのjarファイルを持っていました。私はそれがサーバーの間違った構成によるものであることを発見しました。 Eclipse上で動的なWebプロジェクトを作成している間は、Tomcatのデフォルト設定ではなくJSF設定を選択するようにしてください。

+1

私はTomcatにも問題があります。私は何をする必要があるのか​​よく理解していませんでした。詳細を明記してください。 – Danijel

関連する問題