org.xml.sax.SAXParseException使用Java将Spring升级到4.2.1之后的JASypt冲突

时间:2018-02-23 13:49:53

标签: java spring encryption jasypt saxparseexception

我正在尝试从#34; 4.1.5.RELEASE"升级我的弹簧版本。到" 5.0.3.RELEASE" (最新的)。

当我访问" 4.2.1.RELEASE"之外的任何版本时,我收到以下错误:

  

引起:org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:来自类路径资源[SpringConfig.xml]的XML文档中的第676行无效;嵌套异常是org.xml.sax.SAXParseException; systemId:http://www.jasypt.org/schema/encryption/jasypt-spring31-encryption-1.xsd; lineNumber:676; columnNumber:67; src-resolve:无法解析名称' context:propertyPlaceholder'到(n)'类型定义'成分

     

引起:org.xml.sax.SAXParseException:src-resolve:无法解析名称' context:propertyPlaceholder'到(n)'类型定义'成分

我已将其追踪到Spring人员重命名" propertyPlaceholder"输入" propertyLoading"在他们的spring-context-4.2.xsd中从发布开始" 4.2.2.RELEASE"。

我正在使用的JASypt组件扩展了propertyPlaceholder类型,此引用导致错误。可以从以下URL中看到该引用:

http://www.jasypt.org/schema/encryption/jasypt-spring31-encryption-1.xsd

    <xsd:complexType>
        <xsd:complexContent>
            <xsd:extension base="context:propertyPlaceholder">
                <xsd:attribute name="encryptor" type="xsd:string" use="required">

它们包含了更旧版本的spring-context XSD文件(版本3.1):

<xsd:import namespace="http://www.springframework.org/schema/beans" schemaLocation="http://www.springframework.org/schema/beans/spring-beans-3.1.xsd"/>
<xsd:import namespace="http://www.springframework.org/schema/tool" schemaLocation="http://www.springframework.org/schema/tool/spring-tool-3.1.xsd"/>
<xsd:import namespace="http://www.springframework.org/schema/context" schemaLocation="http://www.springframework.org/schema/context/spring-context-3.1.xsd"/>

克服此错误的最简单方法是什么,因为我不会控制&#34;这个XSD?感谢。

0 个答案:

没有答案