Eclipse/Tomcat 6无法识别Facelets选项卡库

Eclipse/Tomcat 6无法识别Facelets选项卡库,eclipse,jsf,facelets,myfaces,Eclipse,Jsf,Facelets,Myfaces,我在index.jsp JSF文件中包含了以下内容: <%@ taglib prefix="ui" uri="http://java.sun.com/jsf/facelets"%> 部署并尝试使用Tomcat插件启动Tomcat 6会导致以下情况: |STDOUT| 2010-03-03 17:57:29,872 | INFO | [main]: Serialization provider : class org.apache.myfaces.shared_impl.util.

我在index.jsp JSF文件中包含了以下内容:

<%@ taglib prefix="ui" uri="http://java.sun.com/jsf/facelets"%>
部署并尝试使用Tomcat插件启动Tomcat 6会导致以下情况:

|STDOUT| 2010-03-03 17:57:29,872 | INFO  | [main]: Serialization provider : class org.apache.myfaces.shared_impl.util.serial.DefaultSerialFactory
    |STDOUT| 2010-03-03 17:57:29,904 | INFO  | [main]: ServletContext 'C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\myapp\' initialized.
    |STDOUT| 2010-03-03 17:57:29,904 | INFO  | [main]: Checking for plugins:org.apache.myfaces.FACES_INIT_PLUGINS
    03-Mar-2010 17:57:29 org.apache.catalina.core.StandardContext start
    SEVERE: Error listenerStart
    03-Mar-2010 17:57:29 org.apache.catalina.core.StandardContext start
    SEVERE: Context [/myapp] startup failed due to previous errors

My web.xml包含以下内容

<listener>
    <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>
    <application>
    <!-- tell JSF to use Facelets -->
    <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
</application>
并将其替换为myfaces的等效项:

<listener>
  <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
</listener>

谢谢

那太烦人了。我在几个地方读到新Mojarra发布的嵌入式facelets。我将jsf-facelets-1.1.14.jar添加到我的构建中,它部署正常

那真烦人。我在几个地方读到新Mojarra发布的嵌入式facelets。我将jsf-facelets-1.1.14.jar添加到我的构建中,它部署正常

不要将JSF2.0与JSF2.0之前的版本混合使用。它可能会导致像上面那样的意外结果


选择JSF2.0实现Mojara,删除所有myfaces和facelets库。

不要将JSF2.0与JSF2.0之前的版本混合使用。它可能会导致像上面那样的意外结果


选择一个JSF2.0实现Mojara,删除所有myfaces和facelets库。

一个抽象规范的多个实现不能混用。使用Mojarra或MyFaces作为JSF规范的实现。还有JSF组件库,比如RichFaces、Tomahawk等等。。您可以在一个JSF实现之上继续使用它。Bozho说得对,一个抽象规范不能混合使用多个实现。使用Mojarra或MyFaces作为JSF规范的实现。还有JSF组件库,比如RichFaces、Tomahawk等等。。您可以在一个JSF实现之上继续使用它。波佐是对的。波佐,我实际上用过我的脸,但你是对的,这又是我的发展幼稚。在过去的一个月里,我从你和巴卢斯克身上学到了很多东西——真的非常感谢你们。@Bozho你们确定也必须去掉小脸蛋吗?据我所知,JSF RI Mojarra与Facelets无关。。它们是独立的库。@yegor256-JSF2.0默认情况下有facelets。见马克·刘易斯的答案。对于JSF 1.2,您是对的-facelets需要放在一个单独的jar中。@yegor256-lucky classloading?:尝试删除facelets jar。@yegor256-从faces-config.xmlBozho中删除处理程序,我实际上使用了myFaces,但你是对的,这又是我的开发幼稚。在过去的一个月里,我从你和巴卢斯克身上学到了很多东西——真的非常感谢你们。@Bozho你们确定也必须去掉小脸蛋吗?据我所知,JSF RI Mojarra与Facelets无关。。它们是独立的库。@yegor256-JSF2.0默认情况下有facelets。见马克·刘易斯的答案。对于JSF 1.2,您是对的-facelets需要放在一个单独的jar中。@yegor256-lucky classloading?:尝试删除facelets jar。@yegor256-从faces-config.xml中删除处理程序
    <application>
    <!-- tell JSF to use Facelets -->
    <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
</application>
<listener>
        <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
    </listener> 
<listener>
  <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
</listener>