com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser

在使用 Spring+ibatis2的时候遇到的这个异常。从异常本身的提示信息来看,是配置文件解析器 com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser缺少一个 parse(Ljava/io/InputStream;Ljava/util/Properties)方法。但是需要的类我都已经引进来了,并且此前在 windows+tomcat,windows+weblogic下都跑通了,迁移到linux+weblogic的时候却出了问题。很纳闷。

上网查了一圈。大多数说法是jar包引用错误,或者jar包冲突了。也有说法是 sqlmapconfig.xml文件的路径没有配置正确。按照后者的说法尝试了一下,没有用。想按照前者的说法来把ibatis-sqlmap- 2.jar换成ibatis-sqlmap.jar,却找不到这个jar包的下载。很犯愁。

无奈之下回过头来看了一下ibatis-sqlmap-2.jar里面的方法,只有 parse(Reader)和parse(Reader,Properties)两个方法,确实没有 parse(InputStream,Properties)的方法。可是哪个jar包里有合适的类实现呢?

无意之中在百度某条目里发现了。ibatis的各个jar包,如 ibatis_common.jar,ibatis-dao.jar,ibatis-sqlmap.jar等,在ibatis2.3.x以前是分成了好几 个jar包,使用时分别加入的;在2.3.x版本以后则整合成了一个包,ibatis-2.3.x.jar。于是在自己的classpath下找到了这个 包,打开看了一眼,parse(InputStream,Properties)在里面躺着呢。

nosuchmethoderror:com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.paras(Ljava/io /InputStream;Ljava/util/Properties)的原因就很清楚了。在linux+weblogic下,服务器加载的jar包是 ibatis-sqlmap-2.jar,当然找不到需要的方法。把这个包删掉,问题就顺利解决了。

以后吸取教训,jar包应该按需引用,别有的没的都加进来。不仅使工程体积变大,而且jar包 的版本也可能带来种种问题。

本文出自 “编程的摩羯男” 博客,请务必保留此出处http://winters1224.blog.51cto.com/3021203/799043

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值