Java 如何修复';属性";默认依赖项检查";必须为“元素类型”声明;豆子';弹簧5中的错误

Java 如何修复';属性";默认依赖项检查";必须为“元素类型”声明;豆子';弹簧5中的错误,java,spring,spring-boot,dtd,Java,Spring,Spring Boot,Dtd,我尝试在REST Spring引导应用程序中将Spring从版本4升级到版本5(Spring boot 1.5.x到2.x.x)。当从其中一个库解析配置/bean定义文件时,出现错误,必须为元素类型“beans”声明属性“默认依赖项检查”。,但仅当文件中存在所提到的属性-默认依赖项检查时才会发生错误 请注意,此配置文件来自我无法控制的库,因此我无法更改SpringBeans dtd的版本,也不能简单地修改文件的内容,文件的处理也发生在库中,并且似乎对应用程序至关重要 spring boot 1.

我尝试在REST Spring引导应用程序中将Spring从版本4升级到版本5(Spring boot 1.5.x到2.x.x)。当从其中一个库解析配置/bean定义文件时,出现错误,必须为元素类型“beans”声明属性“默认依赖项检查”。,但仅当文件中存在所提到的属性-
默认依赖项检查时才会发生错误

请注意,此配置文件来自我无法控制的库,因此我无法更改SpringBeans dtd的版本,也不能简单地修改文件的内容,文件的处理也发生在库中,并且似乎对应用程序至关重要

spring boot 1.5.x没有出现此问题

如何修复/解决此错误?我可以让spring忽略文件中使用的dtd版本吗

DemoApplication.java

package com.example.demo;
导入org.springframework.boot.SpringApplication;
导入org.springframework.boot.autoconfigure.springboot应用程序;
导入org.springframework.context.support.ClassPathXmlApplicationContext;
@SpringBoot应用程序
公共类演示应用程序{
公共静态void main(字符串[]args){
run(DemoApplication.class,args);
System.out.println(“你好”);
新的ClassPathXmlApplicationContext(新字符串[]{“classpath*:config/config.xml”});
System.out.println(“世界”);
}
}
DemoBean.java

package com.example.demo;
公共类DemoBean{
公共字符串名称;
公共void集合名(字符串名){
this.name=名称;
}
}
resources/config/config.xml


pom.xml


4.0.0
org.springframework.boot
spring启动程序父级
2.1.7.发布
com.example
演示
0.0.1-快照
演示
SpringBoot的演示项目
1.8
org.springframework.boot
弹簧靴起动器
org.springframework.boot
springbootmaven插件
输出/堆栈跟踪

2019-08-27 12:58:24.022  INFO 3512 --- [           main] com.example.demo.DemoApplication         : Started DemoApplication in 0.673 seconds (JVM running for 1.448)
Hello
Exception in thread "main" org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 4 in XML document from URL [file:/C:/.../default-dependency-check-error-demo/target/classes/config/config.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 4; columnNumber: 42; Attribute "default-dependency-check" must be declared for element type "beans".
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:404)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:224)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:195)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:257)
    at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:128)
    at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:94)
    at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:133)
    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:636)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:521)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:144)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:95)
    at com.example.demo.DemoApplication.main(DemoApplication.java:15)
Caused by: org.xml.sax.SAXParseException; lineNumber: 4; columnNumber: 42; Attribute "default-dependency-check" must be declared for element type "beans".
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:284)
    at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.addDTDDefaultAttrsAndValidate(XMLDTDValidator.java:1253)
    at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleStartElement(XMLDTDValidator.java:1917)
    at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(XMLDTDValidator.java:742)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1359)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$ContentDriver.scanRootElementHook(XMLDocumentScannerImpl.java:1289)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3132)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:852)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:842)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
    at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:243)
    at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:339)
    at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:77)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadDocument(XmlBeanDefinitionReader.java:434)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:392)
    ... 14 more

Process finished with exit code 1
2019-08-27 12:58:24.022信息3512-[main]com.example.demo.DemoApplication:在0.673秒内启动了DemoApplication(JVM运行1.448)
你好
线程“main”org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:URL[文件:/C:/…/默认依赖项检查错误demo/target/classes/config/config.xml]的xml文档中的第4行无效;嵌套异常为org.xml.sax.saxpasseeption;行号:4;栏目号:42;必须为元素类型“bean”声明属性“默认依赖项检查”。
位于org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:404)
位于org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336)
位于org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)
位于org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188)
位于org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:224)
位于org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:195)
位于org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:257)
位于org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:128)
位于org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:94)
位于org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:133)
位于org.springframework.context.support.AbstractApplicationContext.AcquitainFreshBeanFactory(AbstractApplicationContext.java:636)
位于org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:521)
位于org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:144)
位于org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:95)
位于com.example.demo.DemoApplication.main(DemoApplication.java:15)
原因:org.xml.sax.saxpasseeption;行号:4;栏目号:42;必须为元素类型“bean”声明属性“默认依赖项检查”。
位于com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
位于com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134)
位于com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396)
请访问com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)
位于com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:284)
位于com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.addDTDDefaultAttrsAndValidate(XMLDTDValidator.java:1253)
位于com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handlestarelement(XMLDTDValidator.java:1917)
位于com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(XMLDTDValidator.java:742)
在com.sun.org.apache.xerces.internal.impl上