SSH框架整合常见错误及解决方案

1. Spring2 aop库包冲突

异常信息如下所示:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is https://www.360docs.net/doc/8013344851.html,ng.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V

Caused by:

https://www.360docs.net/doc/8013344851.html,ng.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V


解决方案:此错误是包冲突引起的,请删除WEB-INF\lib目录下的asm-2.2.3.jar文件,最后的修改MyEclipse自带的spring2 aop库,以后就一劳永逸,如果已经发布了,则必须删除部署后的项目的WEB-INF\lib目录下的asm-2.2.3.jar文件,或者已发布的项目,然后重新发布。




2. Struts启动spring的插件初始化错误

错误信息如下:

[org.springframework.web.struts.ContextLoaderPlugIn]-[ERROR] Context initialization failed

org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/action-servlet.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/action-servlet.xml]

Caused by:

java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/action-servlet.xml]


解决方案:根据错误信息知道,这个错误发生在插件初始化的时候。插件初始化时要读Spring的配置文件,因此插件的属性配置错误或者未配置都会引起这个错误。完整的配置如下(属性的值大家可以根据实际情况修改):


className="org.springframework.web.struts.ContextLoaderPlugIn">


value="classpath*:applicationContext*.xml" />




找不到org/hibernate/cfg/HbmBinder$SecondPass

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in file [D:\develop\apache-tomcat-5.5.27\webapps\test\WEB-INF\classes\applicationContext.xml]: Initialization of bean failed; nested exception is https://www.360docs.net/doc/8013344851.html,ng.NoClassDefFoundError: org/hibernate/cfg/HbmBinder$SecondPass

https://www.360docs.net/doc/8013344851.html,ng.NoClassDefFoundError: org/hibernate/cfg/HbmBinder$SecondPass

解决方案:删掉hibernate-annotations.jar

可能原因:版本问题 或者 和spring-hibernate.jar 冲突


AbstractEntityTuplizer引起的NullPointerException

错误信息如下:

https://www.360docs.net/doc/8013344851.html,ng.NullPointerException

org.hibernate.tuple.AbstractEntityTuplizer.createProxy(AbstractEntityTuplizer.java:372)


解决方案:cglib开头包只留下cglib-nodep-2.1_3.jar,其它的全部删除。


相关文档
最新文档