cvc complex type.2.4.c:匹配的通配符是严格的,但找不到元素“”的声明context:component-scan'

kt06eoxx  于 2021-07-14  发布在  Java
关注(0)|答案(1)|浏览(387)

我在我们的一些遗留代码库中发现了这个错误:
德国: org.xml.sax.SAXParseException; lineNumber: 14; columnNumber: 74; cvc-complex-type.2.4.c: Übereinstimmungsplatzhalter ist streng, aber es kann keine Deklaration für Element 'context:component-scan' gefunden werden. 恩(我在网上找到这个翻译): The matching wildcard is strict, but no declaration can be found for element 'context:component-scan' ###导致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:batch="http://www.springframework.org/schema/batch"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:jdbc="http://www.springframework.org/schema/jdbc"
    xmlns:oxm="http://www.springframework.org/schema/oxm"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc.xsd
        http://www.springframework.org/schema/oxm http://www.springframework.org/schema/oxm/spring-oxm.xsd">

<!-- This is line 14 --><context:component-scan base-package="de.continentale.mss.sinfonima" />
    <bean 
        class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
        <property name="locations">
            <array>
                <bean class="org.springframework.core.io.FileSystemResource">
                    <constructor-arg>
                        <value>./sinfonima-config/sinfonima-ve.db.prod.properties</value>
                    </constructor-arg>
                </bean>
                <bean class="org.springframework.core.io.ClassPathResource">
                    <constructor-arg>
                        <value>sinfonima-ve.datasource-test.properties</value>
                    </constructor-arg>
                </bean>
            </array>
        </property>
        <property name="ignoreResourceNotFound" value="true" />
    </bean>
    <import resource="classpath:/META-INF/sinfonima/sinfonima-commandline.xml" />
    <import resource="classpath:/META-INF/sinfonima/sinfonima-datasources.xml" />
    <import resource="classpath:/META-INF/sinfonima/sinfonima-batch.xml" />
</beans>

我试过的

当使用eclipse的验证机制验证xml时,验证就完成了 with no errors or warnings .
在研究这个错误时,我发现了这个问题,但是没有一个答案能解决我的错误:匹配的通配符是严格的,但是找不到元素的声明context:component-scan
在谷歌搜索这个错误的时候,我发现了很多抄袭者的资源,很明显,这些资源把一个或另一个问题都擦掉了,但不幸的是,这些资源都没有帮到我。

环境

C:\eclipse\jdk8\bin>java.exe -version
openjdk version "1.8.0_265"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_265-b01)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.265-b01, mixed mode)
C:\eclipse>type .eclipseproduct
name=Eclipse Platform
id=org.eclipse.platform
version=4.15.0
rmbxnbpk

rmbxnbpk1#

问题是意外更新的依赖关系。感谢marten为我指明了方向。一个特定于公司的maven目标在没有确认的情况下更新了我的依赖项,并在这样做时跳过了一个主要版本。
当将这些依赖项返回到以前的版本时,错误不再发生。

相关问题