【问题标题】:Unable to locate Spring NamespaceHandler for XML schema namespace [http://java.sun.com/xml/ns/javaee]找不到 XML 模式命名空间的 Spring NamespaceHandler [http://java.sun.com/xml/ns/javaee]
【发布时间】:2013-10-11 10:08:59
【问题描述】:

我正在开发portlet+jsf

这是我的 faces-config.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
        <faces-config version="2.1" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_1.xsd">

            <application>
                <el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver>
                <navigation-handler>
                    org.springframework.webflow.executor.jsf.FlowNavigationHandler
                </navigation-handler>
                <variable-resolver>
                    org.springframework.web.jsf.DelegatingVariableResolver
                </variable-resolver>
            </application>
            <lifecycle>
                <phase-listener>com.liferay.faces.util.lifecycle.DebugPhaseListener</phase-listener>
                <phase-listener>com.liferay.faces.util.lifecycle.ViewScopePhaseListener</phase-listener>
                <phase-listener>org.springframework.webflow.executor.jsf.FlowPhaseListener</phase-listener>
            </lifecycle>

        </faces-config>

当我尝试部署我的 portlet 时,出现以下异常:

Caused by: org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://java.sun.com/xml/ns/javaee]
Offending resource: ServletContext resource [/WEB-INF/context/faces-config.xml]

    at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68) ~[spring-beans-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85) ~[spring-beans-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:80) ~[spring-beans-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.error(BeanDefinitionParserDelegate.java:316) ~[spring-beans-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1416) ~[spring-beans-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1409) ~[spring-beans-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:190) ~[spring-beans-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:140) ~[spring-beans-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:111) ~[spring-beans-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493) ~[spring-beans-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390) ~[spring-beans-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334) ~[spring-beans-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302) ~[spring-beans-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:255) ~[spring-beans-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    ... 32 common frames omitted

谁能帮我解决这个问题?

【问题讨论】:

  • webapp 的运行时类路径缺少一些 Spring 特定的 JAR/依赖项。你有哪些 JAR 以及你是如何构建的?
  • 有spring-beans、spring-context、spring-core、spring-aop、spring-expression、spring-jdbc、spring-tx、spring-web、spring-webmvc、spring-webflow依赖在我的 pom.xml 文件中。我使用 mvn clean install 命令来构建我的 webapp。

标签: java spring jsf configuration portlet


【解决方案1】:

尝试替换

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_1.xsd

xsi:schemaLocation="http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/web-facesconfig_2‌​_1.xsd"

编辑:显然,2.1 版存在一些问题,从以前的位置获取 schemaLocation。它已被修复。但根据错误,我认为 xml 无法找到架构。因此,您可以尝试更换它并检查它是否有效。希望我有一些用处。

【讨论】:

  • 对不起,这个答案没有多大意义。请用技术术语解释这个问题究竟是如何引起的,以及这个解决方案究竟是如何解决它的。
【解决方案2】:

我有同样的问题,去 eclipse-java 方面取消选中它,点击确定然后清理构建并启动服务器。它应该工作正常然后再次去 java 方面检查它运行时的 tomcat 服务器然后重新启动服务器。它对我有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-21
    • 2011-09-29
    • 2017-06-07
    • 2012-01-21
    • 2013-11-01
    • 2011-11-03
    相关资源
    最近更新 更多