Myeclipse下打包spring+jms集成的项目,解决打成的jar包报无法找到xml的context的schema的问题
2012-11-27 12:59
811 查看
描述:最近做一个项目,具体什么项目就不说了,主要是将项目打成jar包在linux服务器上运行。
现象:jar包打好了,未打包之前项目能在IDE上完美运行。但是打成jar包之后,在linux和本机上报错,错误:unable to load XML
schma......后边还有很多。就是无法加载spring中的xml头中的context的xsd文件。
过程:这个问题整整搞了一天。网上也查了很多资料,将引入的xsd头uri改成相对路径呀、还有什么classpath引入xsd呀、反正能试的都试了,
结果还是报这个错误,当我快要没办法的时候,终于看到曙光了:有兴趣的看看下边这两个URL的人说的,他们说的才算是正解。
http://www.pigg.co/spring-namespace-exception.html
http://code.google.com/p/google-web-toolkit/issues/detail?id=5728
问题正如他们分析的那样,在ant打成jar包的时候,由于把项目中的所有jar包也打进去的,每个jar包下的META-INF下边的spring.handlers、spring.schemas、
spring.tools正是放他们本地xsd文件的引用的地方,由于ant打包,里边jar包一起打,这时候里边的spring的一系列jar包相当于解压了。他们的META-INF文件夹一样,
但是里边的内容就覆盖掉了,导致引用的xsd文件只有最后一个覆盖的jar包的META-INF里边的xsd引用,所以不管你这时候applicationContext.xml再怎么改,打出的jar包
永远会报找不到xsd的schma引用。可能本人表述不是很清楚。具体的可以看给的两个url里边的内容。
解决方法:上边给的两个url里边也给了两个解决方法,实际上只有一个。他们都是同一个解决方法,就是重新打包META-INF,可是这里我确实没瞧出来META-INF还
能怎么打包??我的解决方案是重写spring.handlers、spring.schemas、spring.tools三个文件,将需要的xsd文件全部在相应的jar包里边找到写进去,并覆盖进新打的项目
jar包里边,然后运行,成功。
希望大家有这方面的问题多多交流,这玩意问题网上实在难找啊。
现象:jar包打好了,未打包之前项目能在IDE上完美运行。但是打成jar包之后,在linux和本机上报错,错误:unable to load XML
schma......后边还有很多。就是无法加载spring中的xml头中的context的xsd文件。
过程:这个问题整整搞了一天。网上也查了很多资料,将引入的xsd头uri改成相对路径呀、还有什么classpath引入xsd呀、反正能试的都试了,
结果还是报这个错误,当我快要没办法的时候,终于看到曙光了:有兴趣的看看下边这两个URL的人说的,他们说的才算是正解。
http://www.pigg.co/spring-namespace-exception.html
http://code.google.com/p/google-web-toolkit/issues/detail?id=5728
问题正如他们分析的那样,在ant打成jar包的时候,由于把项目中的所有jar包也打进去的,每个jar包下的META-INF下边的spring.handlers、spring.schemas、
spring.tools正是放他们本地xsd文件的引用的地方,由于ant打包,里边jar包一起打,这时候里边的spring的一系列jar包相当于解压了。他们的META-INF文件夹一样,
但是里边的内容就覆盖掉了,导致引用的xsd文件只有最后一个覆盖的jar包的META-INF里边的xsd引用,所以不管你这时候applicationContext.xml再怎么改,打出的jar包
永远会报找不到xsd的schma引用。可能本人表述不是很清楚。具体的可以看给的两个url里边的内容。
解决方法:上边给的两个url里边也给了两个解决方法,实际上只有一个。他们都是同一个解决方法,就是重新打包META-INF,可是这里我确实没瞧出来META-INF还
能怎么打包??我的解决方案是重写spring.handlers、spring.schemas、spring.tools三个文件,将需要的xsd文件全部在相应的jar包里边找到写进去,并覆盖进新打的项目
jar包里边,然后运行,成功。
希望大家有这方面的问题多多交流,这玩意问题网上实在难找啊。
相关文章推荐
- maven无法加载本地jar包以及maven项目打包后本地jar包没有打进项目的问题解决办法
- 【问题解决】IDEA-Maven下Tomcat发布Web项目,遇到Jar包无法找到
- 解决SpringBoot项目打成jar包访问不了jsp模板的问题: SpringBoot项目集成jsp模板打成war包 然后通过java -jar 命令启动访问
- Maven项目中,关于Spring Boot 整合MyBatis时,Service层无法找到mapper接口的问题解决
- maven打包出现NamespaceHandler for XML schema namespace[http://www.springframework.org/schema/context]解决
- 打成jar包的xml配置文件无法找到路径,System.getProperty("user.dir")解决该问题
- maven项目打包发布问题-Unable to locate Spring NamespaceHandler for XML schema namespace
- win7 64位下myeclipse集成flex builder无法创建项目的问题解决
- maven无法加载本地jar包以及maven项目打包后本地jar包没有打进项目的问题解决办法
- 解决“Idea下项目无法找到*.xml配置文件”的问题
- 解决AndroidStudio从网络引入三方jar包,项目中无法找到类问题
- 有spring管理的项目打成jar包无法扫描到注解的问题解决
- win7 64位下myeclipse集成flex builder无法创建项目的问题解决
- springboot打包成jar文件无法正常运行,解决办法已经找到
- Myeclipse编译maven工程中的main函数时无法找到类问题的解决
- 详解eclipse将项目打包成jar文件的两种方法及问题解决方法
- eclipse:xml-apis jar包冲突导致的getTextContent()方法无法找到解决
- 采用共享jar包部署struts2+spring集成项目会遇到的问题
- Unity3d打包APK出现的问题—无法找到tool.jar
- 创建Spring-Mybatis web项目,解决IDEA下找不到XXXmapper.xml文件的问题