Netbeans错误"找不到名称空间的库http://java.sun.com/jsf/composite/components/dialogs"

时间:2013-11-27 10:10:36

标签: jsf maven netbeans pom.xml

我的java代码出现了一些错误。

我有以下代码:

<html xmlns="http://www.w3.org/1999/xhtml"
 xmlns:h="http://java.sun.com/jsf/html"
 xmlns:f="http://java.sun.com/jsf/core"
 xmlns:p="http://primefaces.org/ui"
 xmlns:pe="http://primefaces.org/ui/extensions"
 xmlns:s="http://www.sensap.eu/jsf"
 xmlns:c="http://java.sun.com/jsp/jstl/core"
 xmlns:dialogs="http://java.sun.com/jsf/composite/components/dialogs"
 xmlns:widgets="http://java.sun.com/jsf/composite/components/widgets">

当我编译代码时,它给出了以下错误:

找不到名称空间http://java.sun.com/jsf/composite/components/dialogs的库 找不到名称空间http://java.sun.com/jsf/composite/components/widgets

的库

我试图检查pom.xml是否正常但是从我的结果看起来很好。我不知道接下来要做什么!!!

3 个答案:

答案 0 :(得分:3)

那些http://java.sun.com/jsf/composite/*名称空间不引用外部库。所以你的Maven配置实际上是无关紧要的。这些http://java.sun.com/jsf/composite/*命名空间引用了所谓的composite components,它们实际上是您自己的webapp的/resources文件夹中的XHTML文件,后者又使用<cc:interface><cc:implementation>声明。

考虑到命名空间,你应该有类似的东西:

Web Pages
 |-- resources
 |    |-- components
 |    |    |-- dialogs
 |    |    |    |-- somedialog.xhtml
 |    |    |    `-- otherdialog.xhtml
 |    |    `-- widgets
 |    |         |-- somewidget.xhtml
 |    |         `-- otherwidget.xhtml
 :    :

如果你真的拥有它们并且你的webapp与这些复合物正确运行,那么只有Netbeans本身不够聪明才能看到它们并给出错误的错误。升级Netbeans和/或将问题报告给Netbeans的人应该解决它。

答案 1 :(得分:1)

在我看来,这是一个Maven / Netbeans集成问题。 Netbeans应该从您的maven依赖项推断出必要的框架。框架是一种专有的Netbeans机制,它会影响打开的文件的处理方式。在netbeans中打开项目属性,有一个名为“Frameworks”的选项。在你的情况下,我猜,列表可能是空的。尝试添加JavaServer faces框架,如附图所示。enter image description here

如果您发现添加框架时出现问题,请阅读此链接Netbeans framework issue

答案 2 :(得分:1)

不要忘记在复合组件中迁移命名空间:

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:cc="http://xmlns.jcp.org/jsf/composite">
  <cc:interface>
  </cc:interface> 
  ...