0
当iBatis试图应用结果映射时,会抛出一个BulkBeanException
,但通过同一个jar跨部署不一致(本地很好,服务器部署不是)。net.sf.cglib.beans.BulkBeanException使用iBatis和Spring
我想出如何停止的问题(见我的回答如下),但我更感兴趣的是听到有关战略来诊断cglibification发生/在不同的运行环境发生了不同。我假设不一致的行为是由于在该库被加载顺序差异,但还没有想出如何确认这一点($PATH
和$CLASSPATH
解决,同样的事情在不同的环境中)。有没有别的东西,我应该看什么?
遇到错误
java -jar <jar>
在CentOS盒上的OS X
没有得到错误
java -jar <jar>
通过Eclipse- 骡子运行在OS X 通过Eclipse通过Maven的
- 的JUnit在OS X
- 的JUnit在OS X
堆栈跟踪
Caused by: com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in ibatis/MyClassName.xml.
--- The error occurred while applying a result map.
--- Check the MyClassName.result.
--- The error happened while setting a property on the result object.
--- Cause: net.sf.cglib.beans.BulkBeanException: 1
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryWithCallback(MappedStatement.java:204) ~[mybatis-2.3.5.jar!/:?]
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryForList(MappedStatement.java:139) ~[mybatis-2.3.5.jar!/:?]
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:578) ~[mybatis-2.3.5.jar!/:?]
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:552) ~[mybatis-2.3.5.jar!/:?]
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118) ~[mybatis-2.3.5.jar!/:?]
at org.springframework.orm.ibatis.SqlMapClientTemplate$3.doInSqlMapClient(SqlMapClientTemplate.java:298) ~[mybatis-2-spring-1.0.1.jar!/:1.0.1]
at org.springframework.orm.ibatis.SqlMapClientTemplate$3.doInSqlMapClient(SqlMapClientTemplate.java:296) ~[mybatis-2-spring-1.0.1.jar!/:1.0.1]
at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:203) ~[mybatis-2-spring-1.0.1.jar!/:1.0.1]
... 77 more