【问题标题】:Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/tx].....Prease无法找到 XML 模式命名空间的 Spring NamespaceHandler [http://www.springframework.org/schema/tx].....Prease
【发布时间】:2014-11-12 01:20:19
【问题描述】:

我正在尝试 我的 pom.xml

<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework.samples</groupId>
<artifactId>NOCMatrixServer</artifactId>
<version>0.0.1-SNAPSHOT</version>

<properties>

    <!-- Generic properties -->
    <java.version>1.6</java.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

    <!-- Spring -->
    <spring-framework.version>3.2.3.RELEASE</spring-framework.version>

    <!-- Hibernate / JPA -->
    <hibernate.version>4.2.1.Final</hibernate.version>

    <!-- Logging -->
    <logback.version>1.0.13</logback.version>
    <slf4j.version>1.7.5</slf4j.version>

    <!-- Test -->
    <junit.version>4.11</junit.version>

</properties>

<build>
    <plugins>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>
                            MatrixServer.MainMethod
                        </mainClass>
                    </manifest>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
        </plugin>

    </plugins>
</build>

<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${spring-framework.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>${spring-framework.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>${spring-framework.version}</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.5</version>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.16</version>
    </dependency>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.2.8</version>
    </dependency>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis-spring</artifactId>
        <version>1.2.2</version>
    </dependency>
    <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.2</version>
    </dependency>
    <dependency>
        <groupId>com.tmax.tibero</groupId>
        <artifactId>tibero-jdbc</artifactId>
        <version>3.0</version>
        <scope>system</scope>
        <systemPath>D:/Workspace/tibero5-jdbc-14.jar</systemPath>
    </dependency>
    <dependency>
        <groupId>oracle.jdbc</groupId>
        <artifactId>oracle-jdbc</artifactId>
        <version>6.0</version>
        <scope>system</scope>
        <systemPath>D:/Workspace/ojdbc6.jar</systemPath>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-expression</artifactId>
        <version>4.1.1.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>4.1.1.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aop</artifactId>
        <version>4.1.1.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>javax.annotation</groupId>
        <artifactId>jsr250-api</artifactId>
        <version>1.0</version>
    </dependency>
    <dependency>
        <groupId>aspectj</groupId>
        <artifactId>aspectjweaver</artifactId>
        <version>1.5.4</version>
    </dependency>
    <dependency>
        <groupId>com.sun.mail</groupId>
        <artifactId>javax.mail</artifactId>
        <version>1.5.2</version>
    </dependency>
    <dependency>
        <groupId>commons-dbcp</groupId>
        <artifactId>commons-dbcp</artifactId>
        <version>1.4</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.5</version>
    </dependency>
</dependencies>

> mvn asem assembly:single
> java -jar NOCMatrixServer-0.0.1-SNAPSHOT-jar-with-dependencies.jar

我得到以下信息:

=2014-11-12 10:15:52,661 INFO [org.springframework.context.support.AbstractApplicationContext] Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@1376c05c: startup date [Wed Nov 12 10:15:52 KST 2014]; root of context hierarchy [] - (AbstractApplicationContext.java:510)
=2014-11-12 10:15:52,692 INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] Loading XML bean definitions from class path resource [MatrixServer/Setup/Context-Application.xml] [] - (XmlBeanDefinitionReader.java:315)
=2014-11-12 10:15:55,411 INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] Loading XML bean definitions from class path resource [MatrixServer/Setup/Context-Datasource.xml] [] - (XmlBeanDefinitionReader.java:315)
=2014-11-12 10:15:56,145 INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] Loading XML bean definitions from class path resource [MatrixServer/Setup/Context-SqlMap.xml] [] - (XmlBeanDefinitionReader.java:315)
=2014-11-12 10:15:56,536 INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] Loading XML bean definitions from class path resource [MatrixServer/Setup/Context-Transaction.xml] [] - (XmlBeanDefinitionReader.java:315)
D:\Workspace\NOCMatrixServer\target>java -jar NOCMatrixServer-0.0.1-SNAPSHOT-jar-with-dependencies.jar >> 1.txt
Exception in thread "main" java.lang.ExceptionInInitializerError
        at MatrixServer.MainMethod.main(MainMethod.java:13)
Caused by: org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/tx]
Offending resource: class path resource [MatrixServer/Setup/Context-Transaction.xml]

        at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68)
        at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)
        at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:80)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.error(BeanDefinitionParserDelegate.java:318)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1435)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1428)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:185)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:139)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:108)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:243)
        at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:127)
        at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:93)
        at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)
        at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:537)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:451)
        at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
        at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93)
        at MatrixServer.Init.MatrixServerInit.init(MatrixServerInit.java:16)
        at MatrixServer.Init.MatrixServerInit.<init>(MatrixServerInit.java:12)
        at MatrixServer.Init.MatrixServerInit.<clinit>(MatrixServerInit.java:8)
        ... 1 more

为什么????请解决........

【问题讨论】:

  • 对于初学者来说,不要混合使用弹簧版本,而是混合使用 3.1.2 和 4.1.1。接下来,如果您正在创建一个 uber jar,请确保您正在合并不同的 spring.schema 文件。最后,当使用命名空间时,请确保使用无版本 xsd 所以spring-tx.xsd 而不是spring-tx-3.2.xsd。 .

标签: java xml spring maven


【解决方案1】:

这里没有足够的信息来全面了解,但请检查您的 Spring 上下文配置并确保您使用的是正确的 URI。

xsi:schemaLocation="http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd"

请注意,架构版本与库的版本不同。

【讨论】:

  • 谢谢!但即使改变了也能达到相同的现有情况。
  • @TristanLudrow 您能否发布内容 Context-Transaction.xml,或者至少发布所有相关命名空间的声明?
  • 是的,谢谢安迪森
  • 没问题。这些类型的问题很糟糕。我可能会尝试将其他模式升级到正确的版本(3.0 -> 3.2)。如果 3.0 的 schema 引用了 spring-tx 的 3.0 版本,可能会有一些不满足的依赖。
  • 如果在 Ecipe 中执行,放电没有任何问题。但是 > mvn asem assembly:single java -jar NOCMatrixServer-0.0.1-SNAPSHOT-jar-with-dependencies.jar
【解决方案2】:

缺少 jars 可能会导致此类问题。有关详细信息,请参阅this,例如为http://www.springframework.org/schema/tx命名空间添加以下maven依赖:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-tx</artifactId>
    <version>4.1.0.RELEASE</version>
</dependency>

【讨论】:

    猜你喜欢
    • 2018-05-16
    • 2014-04-19
    • 1970-01-01
    • 2013-10-04
    • 2019-01-27
    • 2015-02-25
    • 2017-10-05
    • 2011-01-10
    相关资源
    最近更新 更多