0

MyFaces 2.1.8、Hibernate 4.1、Tomcat 6.0.35、RichaFaces 4.2.2 で新しいプロジェクトを開始しました。

myFaces 2.1.8、richafces、tomcat をダウンロードしてから、myEclipse に「Hibernate Capabilities」を追加して、休止状態の jar を追加しました。以下は私がlibに持っているjarです:

ここに画像の説明を入力

デプロイしようとすると、次のエラーが表示されます。

エラーログ (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

生成された war の実際の WEB-INF/lib を調べてみましたか? IDE が表示するビューだけでなく、Tomcat の配置ディレクトリを実際に見てください。

私は長い間 MyEclipse を使用していませんが、過去に、「Add ... Capabilities」機能を使用すると、競合する誤った jar が WEB-INF/lib ディレクトリに配置されるのを見てきました。

別の原因として、Mojarra jar が Tomcat 自体の /lib ディレクトリにあることが原因である可能性があります。そちらもチェック。

于 2012-09-23T11:42:46.990 に答える