jsf 2.2,netbeans,ui:remove - 标签库支持...但没有为name:remove定义标签

时间:2014-02-20 02:33:09

标签: jsf netbeans taglib jsf-2.2

New Netbeans安装会抛出此错误:

/index.xhtml @10,20 <ui:remove> Tag Library supports namespace: http://xmlns.jcp.org/jsf/facelets, but no tag was defined for name: remove

环境:

  • 产品版本:NetBeans IDE 7.4(Build 201310111528)
  • Java:1.7.0_51; Java HotSpot(TM)64位服务器VM 24.51-b03运行时:
  • Java(TM)SE运行时环境1.7.0_51-b13
  • 系统:在x86_64上运行的Mac OS X版本10.9.1; UTF-8; de_DE(nb)

JSF页面:

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
<h:head>
    <title>Facelet Title</title>
</h:head>
<h:body>
    <ui:remove>throws an error</ui:remove>
    Hello from Facelets
</h:body>

其他ui标签可以正常工作。

要重现错误,只需运行新项目Web应用程序向导并插入ui:remove标记。任何人都可以重现此错误吗?

其他信息:

我将Netbeans更新为“更新:NetBeans IDE已更新为版本NetBeans 7.4 Patch 2”。仍然是同样的例外。

ui:remove不会在具有较旧OSX(10.8.5)和较旧JDK(1.7.0_40)的类似计算机上抛出异常。休息一下。

1 个答案:

答案 0 :(得分:0)

如果有人遇到像

这样的小面孔的这种或类似的奇怪问题
  

一个或多个资源的目标是“头”,但没有“头”   组件已在视图中定义。

只需将javax.faces.jar更改为当前版本即可。要做到这一点:

首先:从glassfish安装中找到“modules”文件夹。在我的Mac上它是

  

/Applications/NetBeans/glassfish-4.0/glassfish/modules /

第二:找到javax.faces.jar并将其替换为当前版本(只需搜索网络并下载)。在我的例子中,它是https://maven.java.net/content/repositories/releases/org/glassfish/javax.faces/2.2.5/

处的javax.faces-2-2-5.jar

第三:不要忘记重启NetBeans