我正在将项目的JSF实现从JSF 1.1更新到JSF 2.2。我主要使用Migrating from JSF 1.2 to JSF 2.0作为指导。
根据JSF 2.2 faces-config: Unknown Schema version: 2.2更新faces-config.xml
的根元素到
<faces-config xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd"
version="2.2">
我的IDE - IntelliJ - 将默认的XML命名空间xmlns="http://xmlns.jcp.org/xml/ns/javaee"
标记为红色,当将鼠标悬停在它上面时会给出错误消息:
URI is not registered
http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd
也被标记为错误,在鼠标悬停时显示以下错误消息:
Cannot resolve symbol 'http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd'
我使用MyFaces 2.2.12
作为JSF实现,使用IntelliJ IDEA Community 2017.1
作为IDE。 (我知道IntelliJ的CE不具备与Ultimate Edition相同级别的JSF支持,但这不是真正的JSF问题,而是XML问题,不是吗?)
有人能告诉我需要更改什么以使IntelliJ识别xmlns-URI吗?
修改
我试图“手动设置外部资源”,如JSF xmlns URI not registered in IntelliJ IDEA中所述,但如果我为web-facesconfig_2_2.xsd
执行此操作,faces-config.xml
中的每个元素都会标记错误。当我将鼠标悬停在标记的元素上时,我收到以下错误消息: