我已经搜索过了,但不能找到一个明确的解决方案。我正在使用netbeans+Maven,并试图从Primefaces 2.2.1升级到3.0。M3 -当我将index.xhtml标签库更改为xmlns:p="http://primefaces.org/ui" netbeans抛出'没有找到此命名空间的库'错误。
index.xhtml文件为:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui" >
<f:view contentType="text/html">
<h:head>
</h:head>
<h:body>
<h:form>
<h:commandButton value="Run Test" action="selecttype" />
<h:commandButton value="Manage Methods" action="addmethod" />
<h:commandButton value="Manage Data" action="managedata" />
<p:tagCloud model="#{tagCloudBean.model}" />
</h:form>
</h:body>
</f:view>
</html>
所以新的taglib和p:tagCloud行是netbeans所说的不工作-当我运行程序时,我看到消息上面的3个按钮"警告:此页面调用XML命名空间http://primefaces.org/ui用前缀p声明,但没有标签库存在于该命名空间。"。
对于Maven,我已经更新了pom.xml的这些部分:
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>3.0.M3</version>
</dependency>
<repositories>
<repository>
<id>java.net.m2</id>
<name>java.net m2 repo</name>
<url>http://download.java.net/maven/2</url>
</repository>
<repository>
<id>prime-repo</id>
<name>PrimeFaces Maven Repository</name>
<url>http://repository.primefaces.org</url>
<layout>default</layout>
</repository>
</repositories>
并注释掉旧的prime-repo仓库信息。
我已经将primefaces-3.0.M3.jar作为本地依赖项-这似乎是可以的,因为使用该库的所有java类文件都可以引用它。primefaces-3.0.M3.jar二进制文件也在我的WEB-INF/lin文件夹中。我见过很多人有netbeans奇怪的问题,我不确定如果我只是错过了什么,或者如果它的IDE。
实际上,如果您使用的是Primefaces 3.0 M4,那么xmlns更改为:
xmlns:p="http://primefaces.org/ui"
解决方案:
- 右键单击EE项目
- 点击
Frameworks
- 点击
JavaServer Faces
- 点击
Components
- 检查
PrimeFaces
- 单击OK
这就解决了问题。但是,错误图标仍然会出现在项目的左面板中。(代码中没有)。所以你必须复制所有的代码(无论什么).xhtml
并重新创建它,粘贴你写的代码并运行。
换句话说,您必须重新创建出现问题的文件。
xmlns
对于Primefaces组件是错误的。试着按照Primefaces Getting Started指南将url更改为http://primefaces.prime.com.tr/ui
。
UPDATE 08-08-2013:
目前正确的命名空间如下所示:
xmlns:p="http://primefaces.org/ui"
如果有人还在寻找这个问题的答案,
右键单击您的EE项目->选择项目属性->框架->组件并选择primefaces
适用于Netbeans 8.1