JSF xmlns URI 未在 IntelliJ IDEA 中注册

标签 jsf intellij-idea xhtml

这是我的 JSF 文件的开头:

<?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:h="http://java.sun.com/jsf/html"
      xmlns:ace="http://www.icefaces.org/icefaces/components"
      xmlns:c="http://java.sun.com/jsp/jstl/core"
      xmlns:f="http://java.sun.com/jsf/core">
<h:head>
</h:head>
<h:body>

但是,http://www.icefaces.org/icefaces/componentshttp://java.sun.com/jsp/jSTL/core 会突出显示呈红色,并显示错误 URI 未注册。这会导致许多其他后续标签显示为红色,并出现错误此处不允许元素“x”。这是一张显示我的意思的图片:

xmlns and tags appear in red

尝试的解决方案:

在寻找解决方案时,似乎其他有同样问题的人通过执行“获取外部资源”解决了该问题。但是,这对我不起作用。对于icefaces xmlns xmlns:ace="http://www.icefaces.org/icefaces/components" 我收到错误:获取http://www.icefaces.org时出错/icefaces/组件。对于 jSTL xmlns xmlns:c="http://java.sun.com/jsp/jSTL/core" 我收到错误: 该位置没有 XML:http:///java.sun.com/jsp/jSTL/core.

我还发现有些人通过删除 .idea 目录中的 IntelliJ IDEA 元数据文件 workspace.xml 解决了这个问题。这似乎暂时有效......但似乎过了一段时间问题又回来了。我还必须重新配置几个我想避免的项目设置。

任何帮助将不胜感激..我不太熟悉 xmlns 的东西,而且仍然是网络应用程序开发的初学者。谢谢!

更新:

根据 Mark Vedder 的回答,我手动将外部资源添加到我的项目中,到目前为止问题尚未再次出现。

最佳答案

对于未注册的资源,第一个解决方案是使用“获取外部资源”快速修复。如果失败,就像本例中的情况一样,(通常是因为“位置”只是名义上的),您需要手动配置它。

手动配置

  1. 如果资源(即 .xsd.dtd 等)存在于您的某个库 jar 中,请跳至步骤 2。否则,下载副本的资源。将其放在系统上方便的位置。
  2. 在 IDEA 中,将光标放在错误上,输入 Alt+Enter 打开“快速修复/意图”菜单,然后选择“手动设置外部资源”。 (如果您没有此选项(基于 IntelliJ IDEA 版本),请转到下一部分以获取说明。)
  3. 如果资源位于 jar 中,请选择Schemas 选项卡并从相应的 jar 中选择资源。如果您下载了该文件,请选择Explorer 选项卡(在 Mac 中可能名为 Finder),然后导航到并选择您下载的文件。
  4. 单击“确定”并让 IDEA 为资源建立索引。

通过 IDE 设置进行编辑或设置

  1. 通过 Ctrl+Alt+Enter文件 > 设置打开设置对话框。
    • 要为所有 future 的新项目进行配置以使此架构可用,请通过文件 > 其他设置 > 默认设置打开类似的对话框
  2. 项目设置部分中,找到架构和DTD节点。
  3. 配置所需的架构。右上角有添加、编辑和删除图标。与上面一样,您可以通过Schemas 选项卡选择库中的文件,或者通过Explorer 选项卡选择文件系统。

更新

各种 JSF Taglib 定义(适用于 JSF 2.x 及更高版本)可以在 com.sun.faces 的 com/sun/faces/metadata/taglib 目录中找到: jsf-impl jar。 jsf-impl JAR 文件可以从 maven central 下载。等地方。

关于JSF xmlns URI 未在 IntelliJ IDEA 中注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23410936/

相关文章:

android - 自动将 Activity 添加到 list ?

java - 为什么 Intellij Idea Java IDE 无法识别我本地 Maven 项目的更新

CSS 与表单域水平对齐

java - HTTP 状态 500 - Servlet Jersey Web 应用程序的 Servlet.init() 引发异常

css - 使用 css 的渐变顶部边框

java - GlassFish + MySQL + XHTML + Java Beans + UTF-8 问题

java - 如何将 txt 文件从互联网加载到我的 jsf 应用程序中?

android - 使用 IntelliJ IDEA 调试 Android-AIR 应用程序

css - 找不到 MAVEN Web 元素 JSF CSS 文件

java - 如何在运行时更新 JSF 组件的样式