用mybatis1.5.2开发的j2ee项目,在tomcat上运行良好,但是发布到websphere上就报错首先是如下错误(websphere6、7上都一样)
- Caused by: java.lang.VerifyError
- at org.apache.ibatis.parsing.XPathParser.evalNode(XPathParser.java:210)
- at org.apache.ibatis.parsing.XPathParser.evalNode(XPathParser.java:206)
- at org.apache.ibatis.builder.xml.XMLConfigBuilder.parse(XMLConfigBuilder.java:88)
- at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:49)
- at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:35)
- at com.tc.es.dao.SessionFactory.getSession(SessionFactory.java:30)
- at com.tc.es.dao.LogInfoDao.updateLogStateByDocumentIdAndLableID(LogInfoDao.java:120)
我已经在getSession处加了异常捕获,但是捕获不到,后来发现应该是解析不了mybatis的配置文件,可能是缺少某些类库,
首先尝试将下载mybatis包时它本身自带的几个包都放工程lib下,结果没有作用。
网上说换jdom包,我发现我的下面就没有这个包,于是从网上下载jdom包,放入项目lib下,发现还是一样的错误,又将jdom附带的jar都放里面了,加入的包如下
- jdom-2.0.3.jar
- jaxen-1.1.3.jar
- xercesImpl.jar
- xml-apis.jar
这回报错不同了,已经被我加的异常捕获到,说明已经解决进一步了,这回报的错误如下
- [12-9-27 10:06:46:309 CST] 00000036 SystemOut O [INFO ] [es] [WebContainer : 4] 2012-09-27 10:06:46 SessionFactory:33 :初始化mybatis出现异常!
- [12-9-27 10:06:46:387 CST] 00000036 SystemOut O [INFO ] [es] [WebContainer : 4] 2012-09-27 10:06:46 SessionFactory:34 :org.apache.ibatis.exceptions.PersistenceException:
- ### Error building SqlSession.
- ### Cause: java.lang.RuntimeException: XPathFactory#newInstance() failed to create an XPathFactory for the default object model: http://java.sun.com/jaxp/xpath/dom with the XPathFactoryConfigurationException: javax.xml.xpath.XPathFactoryConfigurationException: No XPathFctory implementation found for the object model: http://java.sun.com/jaxp/xpath/dom
- at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23)
- at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:51)
- at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:35)
- at com.tc.es.dao.SessionFactory.getSession(SessionFactory.java:30)
总结,为实现websphere上使用mybatis1.5.2,一共加了下面的包,可能其中有多余的,还没时间去掉测试
- jdom-2.0.3.jar
- slf4j-log4j12-1.6.2.jar
- slf4j-api-1.6.2.jar
- cglib-2.2.2.jar
- asm-3.3.1.jar
- xercesImpl.jar
- jaxen-1.1.3.jar
- xml-apis.jar
- xalan-2.7.0.jar