schema_reference.4: 无法读取架构文档 'http://www.springframework.org/schema/beans/spring- beans-4.1.5.xsd

schema_reference.4: Failed to read schema document 'http://www.springframework.org/schema/beans/spring- beans-4.1.5.xsd

我在 eclipse 中的 spring-dispatcher.xml 中遇到错误,如下所示。

schema_reference.4: Failed to read schema document 'http://www.springframework.org/schema/beans/spring-
 beans-4.1.5.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root 
 element of the document is not <xsd:schema>.

我有最新的 spring 个库...

spring-beans-4.1.5.RELEASE.jar
spring-beans-4.1.5.RELEASE-javadoc.jar
spring-beans-4.1.5.RELEASE-sources.jar
spring-context-4.1.5.RELEASE.jar
spring-context-4.1.5.RELEASE-javadoc.jar
spring-context-4.1.5.RELEASE-sources.jar
spring-context-support-4.1.5.RELEASE.jar
spring-context-support-4.1.5.RELEASE-javadoc.jar
spring-context-support-4.1.5.RELEASE-sources.jar
spring-webmvc-4.1.5.RELEASE.jar
spring-webmvc-4.1.5.RELEASE-javadoc.jar
spring-webmvc-4.1.5.RELEASE-sources.jar
spring-webmvc-portlet-4.1.5.RELEASE.jar
spring-webmvc-portlet-4.1.5.RELEASE-javadoc.jar
spring-webmvc-portlet-4.1.5.RELEASE-sources.jar

spring-dispatcher.xml 如下所示...

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE beans>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-4.1.5.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-4.1.5.xsd
    http://www.springframework.org/schema/mvc
    http://www.springframework.org/schema/mvc/spring-mvc.xsd">

如果我能得到一些帮助就太好了...同主题的帖子没有帮助我提前解决this.Thanks...

错误是因为找不到xsd。尝试执行以下使用特定版本 4.1 的操作。

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE beans>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-4.1.xsd
    http://www.springframework.org/schema/mvc
    http://www.springframework.org/schema/mvc/spring-mvc.xsd">

或者如果你没有提到版本,它会尝试使用最新的。

<?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE beans>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:context="http://www.springframework/schema/context"
        xmlns:mvc="http://www.springframework.org/schema/mvc"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd">

任何 Spring jar 中都没有这样的 xsd : http://www.springframework.org/schema/beans/spring-beans-4.1.5.xsd

Spring xsd for Spring 4.1.x 可以参考: http://www.springframework.org/schema/beans/spring-beans-4.1.xsd 或更好 : http://www.springframework.org/schema/beans/spring-beans.xsd

URL和每个springjar里面的真实位置的对应关系可以在META-INF/spring.schemas中找到,所以"version less"URL当你升级 Spring.

时仍然有效

在我的例子中,它通过添加

消失了
<?xml version="1.0" encoding="utf-8"?>

到spring-dispatcher.xml然后运行更新maven项目。

信不信由你,这可能是一个 maven 问题,如果你正在使用它并且事情从无到有就这样结束了。我知道这可能不是你的情况,但如果是这样,请更新你的 Maven 项目。 如果您使用的是 Eclipse IDE:

  1. 右键单击项目名称。
  2. 专家。
  3. 更新项目...

同样,这可能就是你的情况。这样做对我有用。这也适用于处于相同情况的任何其他人。

来自 Cosmina I. - Pivotal Certified Professional Spring 开发人员考试 A 学习指南 - 2017

xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd

A recommended (best) practice is to use this, since the version will be correctly identified from the Spring dependency version in the project. Also, the other advantage is that you can upgrade the Spring version you are using, and the new definition specifications will be automatically supported in your configuration files without your having to modify them

试试这个,对我有用

    <beans  xmlns = "http://www.springframework.org/schema/beans"
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   xmlns:context="http://www.springframework.org/schema/context"
   xsi:schemaLocation = "http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
  http://www.springframework.org/schema/context
   http://www.springframework.org/schema/context/spring-context-4.0.xsd">

我已经注册了 spring udemy 课程。我遵循了我的教练告诉我要做的每一步。 所以如果你使用 spring mvc 和 hibernate 你可能会遇到这个错误 无法读取架构文档“http://www.springframework.org/schema/tx/spring-tx.xsd”等:

<mvc:annotation-driven/> and <tx:annotation-driven transaction-manager="myTransactionManager" /> elements

在我的 spring 配置文件中我有这两个 url

    http://www.springframework.org/schema/mvc
    http://www.springframework.org/schema/mvc/spring-mvc.xsd

    http://www.springframework.org/schema/tx 
    http://www.springframework.org/schema/tx/spring-tx.xsd

在 xsi:schemaLocation 中,我将其替换为

    http://www.springframework.org/schema/mvc
    http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd

    http://www.springframework.org/schema/tx 
    http://www.springframework.org/schema/tx/spring-tx-4.2.xsd

实际访问这两个网站 http://www.springframework.org/schema/mvc/ and http://www.springframework.org/schema/tx/ 并且刚刚添加了最新版本的 spring-mvc 和 spring-tx,即 spring-mvc-4.2.xsd 和 spring-tx-4。 2.xsd如上图

在我看来,不明确指定版本是一种很好的做法。 它对我有用,希望这对你也有用。 谢谢。

我尝试修改其他解决方案中提到的 xml,但其中 none 对我有用。最后,我尝试在网络浏览器上打开模式位置文件,但它也无法连接(即使互联网工作正常)。 spring 框架服务器是否已关闭?

原来我们使用的 Internet Security 软件必须打开才能访问此站点。因此,请尝试在 Web 浏览器中打开架构文件以验证 URL 是否正确以及您是否可以连接到它,尤其是在之前配置运行良好的情况下。

我有一个类似的问题,它给出了 http://mybatis.org/schema/mybatis-spring.xsd 文件的类似错误。最后它是应用程序中缺少的 jar。我在我的 gradle 文件中添加了以下依赖项并解决了问题

compile group: 'org.mybatis', name: 'mybatis-spring', version: '2.0.0'

所以它可能是一个类似的依赖项或者你的应用程序中缺少一个 spring jar

使用 Version-less 依赖项表示赞赏。在下面找到我的代码。

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:context="http://www.springframework/schema/context"
        xmlns:mvc="http://www.springframework.org/schema/mvc"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd">
    <bean "class name goes here"> </bean>
</beans>