Java 未找到JSF2.0标记

Java 未找到JSF2.0标记,java,jsf,jsf-2,Java,Jsf,Jsf 2,最近,我一直在使用JSF2.0+Richface 3.3.3,我使用STS作为IDE和Maven来构建我的项目,但不知何故,我无法使用以下JSF2.0标记: h:按钮 h:链接 f:元数据 f:viewParam(这是我的STS自动完成识别的唯一一个) 它只是在运行时失败,说它找不到X组件 我有jsf-api-2.0.2、jsf-impl-2.0.2、richfaces-api-3.3.final、richfaces-impl-jsf2-3.3.final、richfaces-ui-3.3.

最近,我一直在使用JSF2.0+Richface 3.3.3,我使用STS作为IDE和Maven来构建我的项目,但不知何故,我无法使用以下JSF2.0标记:

  • h:按钮
  • h:链接
  • f:元数据
  • f:viewParam(这是我的STS自动完成识别的唯一一个)
它只是在运行时失败,说它找不到X组件

我有jsf-api-2.0.2、jsf-impl-2.0.2、richfaces-api-3.3.final、richfaces-impl-jsf2-3.3.final、richfaces-ui-3.3.3.final、jsf-facelets-1.1.15、jstl-1.0,显然还有“xmlns:f=”http://java.sun.com/jsf/core“xmlns:h=”http://java.sun.com/jsf/html“在每个.xhtml文件中,我是否遗漏了什么

这正是我得到的错误:

<h:button> Tag Library supports namespace: http://java.sun.com/jsf/html, but no tag was defined for name: button
标记库支持命名空间:http://java.sun.com/jsf/html,但没有为名称:按钮定义标记

@编辑:好的,不管怎样,我的队友发现这是因为我们使用了一些外部facelet,并且我们必须等待RichFaces4.0…

您删除了旧的jsf 1.2库了吗? 检查您的
WEB-INF/lib
,查看是否没有JSF1.2 libs的痕迹

还要记住,您应该将
faces-config
文件更新为2.0

<faces-config version="2.0" xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xi="http://www.w3.org/2001/XInclude"
 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-facesconfig_2_0.xsd">


启动servlet时是否有提示:
信息:为上下文“/nameofyourapplication”初始化Mojarra 2.0.2(FCS b10)
(如果您使用的是JSF的Sun实现)

您是否确认您的maven pom.xml文件具有以下依赖关系:

    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-api</artifactId>
        <version>2.0.2</version>
    </dependency>
    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-impl</artifactId>
        <version>2.0.2</version>
    </dependency>

com.sun.faces
JSFAPI
2.0.2
com.sun.faces
jsf impl
2.0.2
在项目目录上完成
mvn clean安装后
,在
target
目录中搜索jsf jar文件,并确保在那里找到2.0 jar


如果问题仍未解决,请说明您正在使用的web容器以及war是如何部署到服务器中的。

以防万一,我仔细检查了一下,没有JSF1.2 libs,faces配置也很好。哦,在初始化Mojarra时,它什么也没说(当然,除了它正在初始化).有点奇怪,因为我在google中找不到关于此错误的任何信息。尝试清理项目,可能您在某个地方缓存了LIB。尝试将.war部署到类似Tomcat的servlet容器中,以查看是否仍会出现相同的错误。您是否使用Mojara实现?或Apache MyFaces?您可以打开.jar以查看标记是否在insi中实现de.@Zenzen:你一定在服务器日志中看到了初始化Mojara的
条目。你看对地方了吗?你使用的是哪台服务器?