当前位置: 代码迷 >> Web前端 >> mybatis 1.5.2 websphere上发布
  详细解决方案

mybatis 1.5.2 websphere上发布

热度:1329   发布时间:2012-10-16 09:57:37.0
mybatis 1.5.2 websphere下发布

用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都放里面了,加入的包如下

  1. jdom-2.0.3.jar
  2. jaxen-1.1.3.jar
  3. xercesImpl.jar
  4. 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)
    ?通过google查找,发现可能是缺少xalan包,从网上下载后放入lib下,这回OK了。

    总结,为实现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
    ?




?

1 楼 hy806806 2012-09-29  
我们目前使用的是Ibatis,不过以后可能会用到mybatis,收藏下!
2 楼 xiaoxin 2012-09-29  
赶紧升级吧,O(∩_∩)O哈哈~
  相关解决方案