警告:此页面调用以前缀p声明的XML命名空间http://primefaces.prime.com.tr/ui但该命名空间不存在taglibrary

时间:2011-09-27 07:13:37

标签: jsf primefaces

我试图从Primefaces 2.2.1开始,但我不能。我在pom.xml中有以下定义:

<repository>  
    <id>prime-repo</id>  
    <name>PrimeFaces Maven Repository</name>  
    <url>http://repository.primefaces.org</url>  
    <layout>default</layout>   
</repository>

<dependency>  
    <groupId>org.primefaces</groupId>  
    <artifactId>primefaces</artifactId>  
    <version>2.2.1</version>  
</dependency> 

但我收到以下错误消息:

  

警告:此页面调用以前缀p声明的XML名称空间http://primefaces.prime.com.tr/ui,但该名称空间不存在taglibrary。

使用这个简单的代码:

<?xml version='1.0' encoding='UTF-8' ?>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.prime.com.tr/ui">
        <h:head>
            <title>Facelet Title</title>
        </h:head>
        <h:body>
            Hello from Facelets
            <p:editor />
        </h:body>
</html>

6 个答案:

答案 0 :(得分:4)

将标签lib包含在:

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

pom.xml中的依赖关系为:

         <dependency>
            <groupId>org.primefaces</groupId>
            <artifactId>primefaces</artifactId>
            <version>3.0.M4</version>
        </dependency>

我也面临同样的问题。这个解决方案解决了我的问题。

答案 1 :(得分:1)

<repository>

之间应该有<repositories>

试试这个:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.test</groupId>
    <artifactId>jsf_primefaces</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>jsf_primefaces</name>
    <description>JSF PrimeFaces</description>
    <packaging>war</packaging>

    <repositories>
        <repository>  
            <id>prime-repo</id>  
            <name>PrimeFaces Maven Repository</name>  
            <url>http://repository.primefaces.org</url>  
            <layout>default</layout>  
        </repository>
    </repositories>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <dependency>  
            <groupId>org.primefaces</groupId>  
            <artifactId>primefaces</artifactId>  
            <version>2.2.1</version>  
        </dependency>  

        ......other dependencies.........
        <dependency>
            <groupId>com.sun.faces</groupId>
            <artifactId>jsf-api</artifactId>
            <version>2.1</version>
        </dependency>
        <dependency>
            <groupId>com.sun.faces</groupId>
            <artifactId>jsf-impl</artifactId>
            <version>2.1</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.el</groupId>
            <artifactId>el-api</artifactId>
            <version>2.2</version>
        </dependency>

        ......other dependencies.........
    </dependencies>

</project>

答案 2 :(得分:0)

他们的服务器现在必须关闭,因为我无法导航到他们的论坛。

他们位于土耳其,我相信他们通常会在这个时候进行夜间维护。

答案 3 :(得分:0)

如果您一直在使用Eclipse的Export WAR功能,则需要将依赖项显式添加到WAR程序集中。

你的答案在这里:Eclipse exporting JAR in WAR

答案 4 :(得分:0)

对我来说,这是解决方案,更改旧标签,改为使用以下内容:

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

答案 5 :(得分:-1)

尝试使用xmlns:p="http://primefaces.org/ui"