我用 MyFaces 2.1.8、Hibernate 4.1、tomcat 6.0.35 和 RichaFaces 4.2.2 开始了一个新项目。
我下载了 myFaces 2.1.8、richafces、tomcat,然后在 myEclipse 中添加了添加休眠 jar 的“休眠功能”。所以下面是我在lib中的罐子:
当我尝试部署它时,出现以下错误:
这里有些不对劲。第 19 行说:
could not find Factory: javax.faces.application.ApplicationFactory
上述错误是否与 web 容器和 tomcat 不兼容有关?根据 MyFaces 2.1.8:
JSF 2.1 requires java 1.5 or later, JSP 2.1, JSTL 1.2 and a Java Servlet 2.5 implementation.
我想我遇到了,所以不确定为什么会抛出异常。
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" 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>JSFAppliction</display-name>
<filter>
<filter-name>Faces Servlet</filter-name>
<filter-class>com.myNewApp.utils.SessionHandler</filter-class>
</filter>
<listener>
<listener-class>com.myNewApp.utils.SessionExpiredHandler</listener-class>
</listener>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<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>*.xhtml</url-pattern>
</servlet-mapping>
<context-param>
<param-name>javax.faces.CONFIG_FILES</param-name>
<param-value>/WEB-INF/faces-config.xml</param-value>
</context-param>
</web-app>
不知何故,在 53 号线它正在接 Mojarra ?(INFO: Initializing Mojarra 2.0.3 (FCS b03) for context '/myNewapp_admin'
)!!
有人能说出我做错了什么吗?