0

我用 MyFaces 2.1.8、Hibernate 4.1、tomcat 6.0.35 和 RichaFaces 4.2.2 开始了一个新项目。

我下载了 myFaces 2.1.8、richafces、tomcat,然后在 myEclipse 中添加了添加休眠 jar 的“休眠功能”。所以下面是我在lib中的罐子:

在此处输入图像描述

当我尝试部署它时,出现以下错误:

错误日志(Pastebin 链接)

这里有些不对劲。第 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')!!

有人能说出我做错了什么吗?

4

1 回答 1

0

您是否尝试查看生成的战争的实际 WEB-INF/lib?实际上查看 Tomcat 的部署目录,而不仅仅是 IDE 呈现的视图。

我很长时间没有使用 MyEclipse,但过去我看到它在使用其“添加...功能”功能时将冲突和错误的 jar 放入 WEB-INF/lib 目录中。

另一个原因可能是 Mojarra jar 或 jar 以某种方式最终位于 Tomcat 本身的 /lib 目录中。也检查那个。

于 2012-09-23T11:42:46.990 回答