我用MyFaces 2.1.8,Hibernate 4.1,tomcat 6.0.35和RichaFaces 4.2.2开始了一个新项目。
我下载了myFaces 2.1.8,richafces,tomcat,然后在myEclipse中添加了“Hibernate Capabilities”,其中添加了hibernate 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'
)!!
有人能说出我做错了什么吗?
答案 0 :(得分:0)
您是否尝试过查看生成战争的实际WEB-INF / lib?实际上查看Tomcat的部署目录,而不仅仅是IDE所呈现的视图。
我很久没有使用过MyEclipse,但是在过去我看到它在使用“Add ... Capabilities”功能时在WEB-INF / lib目录中放入了冲突和错误的jar。
另一个原因可能是Mojarra jar或罐子以某种方式结束在Tomcat本身的/ lib目录中。检查一下。