现在的位置: 首页 > 综合 > 正文

Unable to locate Spring NamespaceHandler for XML schema namespace

2013年02月28日 ⁄ 综合 ⁄ 共 1772字 ⁄ 字号 评论关闭

关键字:Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/context]

这个异常花了不少时间,打jar包一直出问题,一开始以为是打包工具的原因,myeclipse下打,intellij下打,都是同样的错误,在网上搜索后,大部分都是英文资料,不能全懂,不能明白到底是什么问题,从几个中文资料得知是spring的两个什么文件,什么什么在打jar包的时候会覆盖怎么的,但是还是不解,这个问题工具应该是可以解决的,后面又想,项目是maven管理的,是不是打包的方式不一样呢?又尝试在网上搜索maven项目打包jar,得知要用【maven-assembly-plugin】这个东东,感觉有希望了,马上试试,结果还是不行,又隔几日,我再google,终于看到一个比较起眼的句子【It
solved my problem. 
】原地址:http://www.coderanch.com/t/547999/Spring/Configuration-Unable-locate-NamespaceHandler-namespace

从上文中可以得知在这个http://robert-reiz.com/2011/11/14/832/#comment-506里面可以找到解决方法,我连忙点进去,照着里面的一试,哎呀,终于可以了,真是柳暗花明又一村。虽然终于解决了问题,但是我始终不明白这样的做法,可能觉得这个方法不官方,不靠谱,如果有遇到同样问题的朋友,希望一起讨论下,这个到底是什么问题。

下面为我的maven配置代码:

<build>
        <plugins>
           <!-- <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <archive>
                        <manifest>
                            <mainClass>com.payplat.dacq.impl.AutoJob</mainClass>
                        </manifest>
                    </archive>
                </configuration>

                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>-->

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>2.1</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <transformers>
                                <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                    <resource>META-INF/spring.handlers</resource>
                                </transformer>
                                <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                    <resource>META-INF/spring.schemas</resource>
                                </transformer>
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

加入上述配置后,然后在install,得到的jar包就是没有问题的

抱歉!评论已关闭.