面临 NetBeans 8.2 不支持新的 JSF 2.3 标记的问题,例如,在下面的代码片段中:
<f:metadata>
<f:importConstants type="mypackage.MyClass" />
</f:metadata>
NetBeans 突出显示 f:importConstants
,并显示以下错误:[组件库 Jsf Core 不包含组件 importConstants]。
没有代码完成也没关系,但由于 NB 将代码标记为错误 - 不知道如何设置它来忽略此类错误。
附注Eclipse 支持 JSF 2.3 吗?也许是时候切换到 Eclipse 一段时间了,直到 NB 得到修复。
谢谢!
EDIT-1:这是 NetBeans 中的 Maven Java Web 项目,pom.xml 具有以下条目:
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.faces</artifactId>
<version>2.3.2</version>
<scope>provided</scope>
</dependency>
最佳答案
如果您只需要几个标签,您可以编辑内部 Netbeans JSF jar。
支持f:websocket
标签的示例:
- 转到 Netbeans 文件夹。您需要编辑的文件是
enterprise/modules/ext/jsf-2_2/javax.faces.jar
- 下载 a newer JSF jar并提取它
- 将
com/sun/faces/metadata/taglib/facelets_jsf_core.taglib.xml
中的websocket
标记定义复制到 Netbeans 提供的 jar 内的同一文件中< - 重新启动 Netbeans
注 1:如果您想简单地下载新的 jar 并将其放入新的 jsf-2_3
文件夹中或只是替换整个 jar,抱歉,它不起作用。
注释 2:Netbeans 现已迁移到 Apache Foundation。您可以下载Netbeans 9 beta version来自他们的仓库。我希望它支持 JSF 2.3 标签(我没有尝试)。
关于NetBeans 8.2 中的 JSF 2.3 支持(f :importConstants, f :websocket, 等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45076818/