我们遇到了一个难以调试的问题,因此我们将为您提供帮助。
我们使用弹簧XmlBeanDefinitionReader
。在某些情况下,加载程序会加载49个bean,而在其他情况下,它只会加载1个bean,而配置没有明显差异。我正在尝试找到一种获取更多调试信息的方法。这是我现在拥有的日志:
62 2018-10-25T11:33:45.030Z DEBUG [main] [PluggableSchemaResolver.resolveEntity():119] - Found XML schema [http://www.springframework.org/schema/beans/spring-beans.xsd] in classpath: org/springframework/beans/factory/xml/spring-beans-4.3.xsd
63 2018-10-25T11:33:45.056Z DEBUG [main] [DefaultBeanDefinitionDocumentReader.registerBeanDefinitions():92] - Loading bean definitions
64 2018-10-25T11:33:45.058Z DEBUG [main] [XmlBeanDefinitionReader.loadBeanDefinitions():224] - Loaded 1 bean definitions from location pattern [classpath:ops-services.xml]
还有什么我需要寻找的吗?
编辑:
这是我的架构定义:
<?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:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd">
我正在使用弹簧4.3.20.RELEASE
编辑2:
我们找到了原因。文件ops-services.xml
已加载两次。曾经是合法的地方,一次是从错误装载的测试罐中取出的。
是否有Maven插件,日志消息或任何其他方式来确保同一资源在类路径中不存在一次以上?