cvc-complex-type.2.4.a 在 faces-config.xml 中发现以元素工厂开头的无效内容
cvc-complex-type.2.4.a invalid content was found starting with element factory in faces-config.xml
我在一个eclipse项目中出现这个错误,从Netbeans
项目导入,设置为maven
和 Dynamic Web Project
( CDI1.1, Java 1.8, JS 1.0, JSF 2.2, JAX-RS 2.0, JBoss Maven集成 1.0 和 JPA 2.1)
<?xml version='1.0' encoding='UTF-8'?>
<faces-config version="2.2"
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">
<application>
<locale-config>
<default-locale>en</default-locale>
<supported-locale>fr</supported-locale>
</locale-config>
<resource-bundle>
<base-name>Messages</base-name>
<var>messages</var>
</resource-bundle>
<factory>
<exception-handler-factory>org.omnifaces.exceptionhandler.FullAjaxExceptionHandlerFactory</exception-handler-factory>
</factory>
</application>
</faces-config>
答案在问题中,根据XSD
文件http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd,节点application
下不允许有节点factory
,这样你的XML
文件无效。
application
下支持的元素列表是:
- 动作侦听器
- 默认渲染套件 ID
- 消息包
- 导航处理程序
- 视图处理程序
- 状态管理器
- el-解析器
- 属性-解析器
- 变量解析器
- 资源处理程序
- 资源库合同
- 系统事件侦听器
- 语言环境配置
- 资源包
- 应用扩展
- 默认验证器
根据 XSD
文件,节点 factory
似乎与 application
处于同一级别,因此直接位于 faces-config
下一个:
<faces-config ...
<application>
...
</application>
<factory>
<exception-handler-factory>org.omnifaces.exceptionhandler.FullAjaxExceptionHandlerFactory</exception-handler-factory>
</factory>
</faces-config>
我在一个eclipse项目中出现这个错误,从Netbeans
项目导入,设置为maven
和 Dynamic Web Project
( CDI1.1, Java 1.8, JS 1.0, JSF 2.2, JAX-RS 2.0, JBoss Maven集成 1.0 和 JPA 2.1)
<?xml version='1.0' encoding='UTF-8'?>
<faces-config version="2.2"
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">
<application>
<locale-config>
<default-locale>en</default-locale>
<supported-locale>fr</supported-locale>
</locale-config>
<resource-bundle>
<base-name>Messages</base-name>
<var>messages</var>
</resource-bundle>
<factory>
<exception-handler-factory>org.omnifaces.exceptionhandler.FullAjaxExceptionHandlerFactory</exception-handler-factory>
</factory>
</application>
</faces-config>
答案在问题中,根据XSD
文件http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd,节点application
下不允许有节点factory
,这样你的XML
文件无效。
application
下支持的元素列表是:
- 动作侦听器
- 默认渲染套件 ID
- 消息包
- 导航处理程序
- 视图处理程序
- 状态管理器
- el-解析器
- 属性-解析器
- 变量解析器
- 资源处理程序
- 资源库合同
- 系统事件侦听器
- 语言环境配置
- 资源包
- 应用扩展
- 默认验证器
根据 XSD
文件,节点 factory
似乎与 application
处于同一级别,因此直接位于 faces-config
下一个:
<faces-config ...
<application>
...
</application>
<factory>
<exception-handler-factory>org.omnifaces.exceptionhandler.FullAjaxExceptionHandlerFactory</exception-handler-factory>
</factory>
</faces-config>