Jsf 2 java.lang.ClassNotFoundException:org.apache.myfaces.webapp.StartupServletContextListener
我在启动JSF web应用程序时遇到以下异常:Jsf 2 java.lang.ClassNotFoundException:org.apache.myfaces.webapp.StartupServletContextListener,jsf-2,myfaces,Jsf 2,Myfaces,我在启动JSF web应用程序时遇到以下异常: SEVERE: Error configuring application listener of class org.apache.myfaces.webapp.StartupServletContextListener java.lang.ClassNotFoundException: org.apache.myfaces.webapp.StartupServletContextListener at org.apache.catali
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>
J2S
状态保存方法:“客户端”或“服务器”(=默认值)。参见JSF规范2.5.2
javax.faces.STATE_保存方法
客户
javax.servlet.jsp.jstl.fmt.localizationContext
资源.应用
org.apache.myfaces.ALLOW_JAVASCRIPT
真的
org.apache.myfaces.AUTO_滚动
真的
org.apache.myfaces.DETECT\u JAVASCRIPT
假的
org.apache.myfaces.PRETTY_HTML
真的
org.apache.myfaces.webapp.StartupServletContextListener
Facesservlet
javax.faces.webapp.FacesServlet
1.
Facesservlet
*.jsf
Facesservlet
*.面孔
Facesservlet
/面孔/*
欢迎文件>index.xhtml
此异常是如何导致的,我如何解决它
java.lang.ClassNotFoundException:org.apache.myfaces.webapp.StartupServletContextListener
ClassNotFoundException
表示应用程序的运行时类路径中缺少提到的类。提到的类是JSF实现的一部分。你需要
MyFaces核心发行版,解压缩文件并将在webapp项目的
/WEB-INF/lib
文件夹中找到的JAR文件放在/lib
文件夹中。请注意,MyFaces附带了三个MyFaces-*.jar
文件,您应该将MyFaces api
和MyFaces impl
jar文件放在一起,或者将MyFaces捆绑包
jar文件放在/WEB-INF/lib
中,我在Eclipse上使用Tomcat7时也遇到了同样的问题。我有所有需要的jar文件。我发现这是由于服务器配置错误造成的。在Eclipse上创建动态web项目时,请确保为Tomcat选择JSF配置,而不是默认配置。确保myfaces jar位于web应用程序的lib文件夹中。您可以下载myfaces库。感谢添加myfaces api和myfaces impl时出现的错误,但我收到了另一个错误严重:初始化myfaces时发生错误:javax.faces.context.ExceptionHandlerFactory java.lang.IllegalArgumentException:javax.faces.context.ExceptionHandlerFactory请按问问题按钮每当您有新问题时。严重:异常将上下文初始化事件发送到类com.sun.faces.config.ConfigureListener javax.faces.faces的侦听器实例异常:org.apache.myfaces.application.ApplicationFactoryImpl每当您有新问题时,请按提问按钮。您不应该在已经回答的问题的评论中发布新问题。我对Tomcat也有问题。我不太明白我需要做什么,你能澄清更多细节吗?