netbeans没有为此命名空间找到的库

时间:2011-09-21 09:06:45

标签: java jsf netbeans maven primefaces

我已经四处寻找,但无法确定最终的解决方案。我正在使用netbeans + Maven并尝试从Primefaces 2.2.1升级到3.0.M3 - 当我将index.xhtml taglib更改为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所说的不行 - 当我运行程序时,我看到消息“警告:此页面调用带有前缀的XML名称空间http://primefaces.org/ui上面的3个按钮p但该命名空间不存在taglibrary。“

对于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。任何想法都将不胜感激。

4 个答案:

答案 0 :(得分:4)

实际上,如果您使用的是Primefaces 3.0 M4,则xmlns会更改为:

xmlns:p="http://primefaces.org/ui"

答案 1 :(得分:2)

Primefaces组件的xmlns错误。尝试根据Primefaces Getting Started guide将网址更改为http://primefaces.prime.com.tr/ui

更新08-08-2013:

到目前为止,以下链接中列出的正确命名空间是:

xmlns:p="http://primefaces.org/ui"

答案 2 :(得分:2)

这是解决方案:

  1. 右键单击EE项目。
  2. 点击Frameworks
  3. 点击JavaServer Faces
  4. 点击Components
  5. 检查PrimeFaces
  6. 点击确定
  7. 这解决了这个问题。但是,错误图标仍将显示在我们项目的左侧面板中。 (不在代码中)。因此,您必须复制所有代码(无论如何).xhtml并重新创建它,粘贴您编写并运行的代码。

    换句话说,您必须重新创建给您带来问题的文件。

答案 3 :(得分:1)

如果有人还在为此寻找答案,

只需右键单击您的EE项目 - &gt;选择项目属性 - &gt;框架 - &gt;组件和选择素数。

适用于Netbeans 8.1