春天XSD的访问错误(Spring XSD's access error)

2019-09-22 07:16发布

我试图运行由前雇员在这里我的工作留下了一个系统,但我有问题,做到这一点。

如果XSD运行远程访问:

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:tx="http://www.springframework.org/schema/tx"
    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-3.0.xsd
                           http://www.springframework.org/schema/aop 
                           http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
                           http://www.springframework.org/schema/tx
                           http://www.springframework.org/schema/tx/spring-tx.xsd">

它给出了一个未发现异常:

Failed to read schema document 'http://www.springframework.org/schema/context/spring-context-3.0.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>.

而如果XSD运行由本地访问:

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           classpath:org/springframework/beans/factory/xml/spring-beans-3.0.xsd
           http://www.springframework.org/schema/tx
           classpath:org/springframework/transaction/config/spring-tx-3.0.xsd
           http://www.springframework.org/schema/context  
           classpath:org/springframework/context/config/spring-context-3.0.xsd
           http://www.springframework.org/schema/tool
           classpath:org/springframework/beans/factory/xml/spring-tool-3.0.xsd">

它给出了这样的例外:

C:\Users\claudiomazur>java -jar c:\temp\fin\c.jar  
0 [AWT-EventQueue-0] INFO support.ClassPathXmlApplicationContext  - Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@4fa52fdf: startup date [Thu Sep 06  
11:22:59 BRT 2012]; root of context hierarchy  
45 [AWT-EventQueue-0] INFO xml.XmlBeanDefinitionReader  - Loading XML bean definitions from class path resource [context.xml]  
Exception in thread "AWT-EventQueue-0" org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for  
XML schema namespace [http://www.springframework.org/schema/context]  
Offending resource: class path resource [context.xml]  

        at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68) 

一些方法来解决这个问题呢?

大大的拥抱!

Answer 1:

春季XDSs的定义,并与春瓶发货! 对于实施例的spring-context.jar包含spring-context-3.0.xsd 。 (见spring-context.jar /META-INF/spring.schema)

因此,检查你有这样的罐子在您的项目。

所以你所谓的“远程”是不是真的遥远! 我从来没有看到你所谓的“本地访问”,所以我会尝试检查为什么“远程”(不是远程)的东西适用于所有的XSD,但春天上下文。


如果它是一个桌面程序,并使用包含所有其他爆炸罐一个罐子,那么你需要一个照顾了单一的内容spring.handlersspring.schames文件从不同的弹簧xxx.jar是组合(二)“hunge”文件。 因此,在年底这个(二)文件包含了所有的架构名称和处理程序名称。



Answer 2:

其真正使弹簧XSD的与罐子一起提供。

当这些XSD的存储的信息:

  1. 在XML文件中比方说,我们已经使用豆类命名空间,我们需要寻找到

     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
  2. 请检查文件“春天模式”弹簧豆-4.0.1.RELEASE.jar在META-INF文件夹中。 从这个文件样本情况下应该是:

     http\://www.springframework.org/schema/beans/spring-beans-4.0.xsd =org/springframework/beans/factory/xml/spring-beans-4.0.xsd http\://www.springframework.org/schema/beans/spring-beans.xsd =org/springframework/beans/factory/xml/spring-beans-4.0.xsd 
  3. 从而

      http\://www.springframework.org/schema/beans/spring-beans.xsd is mapped to org/springframework/beans/factory/xml/spring-beans-4.0.xsd 

    在您的罐子



Answer 3:

尝试运行的wget http://www.springframework.org/schema/context/spring-context-3.0.xsd 。

should be something like: wget http://www.springframework.org/schema/context/spring-context-3.0.xsd
--2012-09-10 15:56:05--  http://www.springframework.org/schema/context/spring-context-3.0.xsd
Resolving www.springframework.org... 205.140.197.88
Connecting to www.springframework.org|205.140.197.88|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 19651 (19K) [text/xml]
Saving to: “spring-context-3.0.xsd”

100%[=====================================================================>] 19,651      24.6K/s   in 0.8s    

2012-09-10 15:56:06 (24.6 KB/s) - “spring-context-3.0.xsd” saved [19651/19651]

如果你有获得XSD模式的问题,这使得难以继承了这一架构的XML文件的工作。

在第二种情况下,你根本就没有在classpath中任何春 - * - 3.0.xsd文件。



文章来源: Spring XSD's access error