org.springframework.beans.factory.BeanCreationException
: Error
creating bean with name 'SessionFactory' defined in ServletContext
resource [/WEB-INF/classes/applicationContext.xml]: Invocation of init
method failed; nested exception is java.lang.NoSuchMethodError
: org.objectweb.asm.ClassVisitor.visit
(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)VCaused by: java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit
(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
at net.sf.cglib.core.ClassEmitter.begin_class(ClassEmitter.java:77)
网上的说法真是良莠不齐,最终找个能解决问题的方法
(折腾我一下午,快疯了)
原因:
在使用Spring的AOP编程时,会用到这几个lib:
asm-2.2.2.jar
asm-commons-2.2.2.jar
asm-util-2.2.2.jar
Hibernate使用如下lib:
asm.jar
asm-attrs.jar
其中asm-2.2.2.jar与asm.jar存在类上的冲突!!!
使用其中之一或两者都使用,可能会出现如下错误:
java.lang.NoClassDefFoundError: org/objectweb/asm/CodeVisitor
java.lang.NoClassDefFoundError: org/objectweb/asm/commons/EmptyVisitor
java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit
解决方法
:
1.去掉
类路径上的关于Hibernate的3个lib
asm.jar
asm-attrs.jar
cglib-2.1.2.jar
2.加入
Spring中的以下4个lib
asm-2.2.2.jar
asm-commons-2.2.2.jar
asm-util-2.2.2.jar
cglib-nodep-2.1_3.jar
自己的一个小测试: (运行环境:apache-tomcat-5.5.15 + .MyEclipse_5.5GA_E3.2.2 )
整合ssh项目中, 在 Tomcat 部署的环境中 D:\tomcat\webapps\my\WEB-INF\lib 发生了点异常:同时有
asm.jar、asm-attrs.jar、asm-2.2.3.jar 、 asm-commons-2.2.3.jar
asm-util-2.2.3.jar、 cglib-nodep-2.1_3.jar
在启动tomcat中不会出现异常信息。(我想asm-2.2.3jar可能在一定程度上作了改进。)
当在D:\tomcat\webapps\my\WEB-INF\lib 下加入
cglib-2.1.3.jar
会报上面的java.lang.NoSuchMethodError:
org.objectweb.asm.ClassVisitor.visit错误信息。
说明cglib-2.1.3.jar与其它包发生了冲突
。
删除cglib-2.1.3.jar问题解决!
分享到:
相关推荐
"struts2-hibernate3-spring整合需要的全部jar包"正是为了解决这个问题,它包含了所有必要的库文件,使得开发者可以直接引入而无需担心版本冲突。 以下是这个整合所需的一些关键jar包及其作用: 1. **Struts2框架*...
右键点击项目,选择"MyEclipse" -> "Add Spring Capabilities",然后选择所需的Spring库,注意处理与Hibernate的jar包冲突问题,可能需要删除冲突的jar,例如"asm-2.2.3.jar"。推荐将所有依赖的jar包复制到`webRoot/...
【Struts+Spring+Hibernate整合】是企业级Java Web应用中常见的技术栈,这三种框架的结合能够实现模型-视图-控制器(MVC)架构的高效开发,提供数据持久化、业务逻辑处理以及前端控制的完美融合。在这个特定的项目中...
标题与描述均提及了“Struts+Spring+Hibernate整合详细”,这意味着文章将深入探讨这三个框架如何协同工作,形成一个高效、稳定的企业级应用开发架构。Struts作为MVC框架,负责处理用户请求;Spring作为IOC容器,...
8. **处理Flex与Spring的兼容性问题**:解决可能遇到的类版本冲突,例如ASM库的版本问题,更新或替换相应的jar包。 9. **编写DAO层**:定义基本的Data Access Object(DAO)接口和实现,例如IbaseDAO和BaseDAO,将...
编程过程中可能会遇到问题,比如在整合SSH后,发布到Tomcat时可能出现由于Spring和Hibernate中ASM库冲突导致的错误。解决方法是删除Spring AOP Libraries中的`asm-2.2.3.jar`,以消除冲突。 在应用上下文配置文件中...
### 整合Struts2.2.1+Spring3.0.4+...通过以上介绍,我们可以清晰地了解到在整合Struts2.2.1、Spring3.0.4和Hibernate3.6时所需的具体JAR包。正确选择和配置这些包对于构建稳定高效的Java Web应用程序至关重要。
在Spring框架的整合过程中,正确的jar包配置是至关重要的。以下将详细解释"spring整合所需jar包"的相关知识点。 首先,我们需要理解Spring框架的基本组成。Spring框架主要由以下几个模块构成: 1. **Core ...
例如,在上述描述中提及的`asm`库的冲突,`Spring AOP`需要`libasm-2.2.2.jar`、`asm-commons-2.2.2.jar`和`asm-util-2.2.2.jar`,而`Hibernate`则需要`libasm.jar`、`asm-attrs.jar`等。这些库的不同版本可能会导致...
在IT行业中,构建高效、可维护的企业级应用是至关重要的,而Struts2、Spring和Hibernate这三大框架的整合是实现这一目标的常见途径。在本篇内容中,我们将详细探讨如何在MyEclipse8.0环境下整合Struts2.1、Spring3.0...
### MyEclipse整合Struts2+Spring+Hibernate详解 #### 一、概述 本文档将详细介绍如何使用MyEclipse集成开发环境(IDE)搭建并整合Struts2、Spring与Hibernate这三个流行的企业级Java开发框架。通过本教程的学习,...
在整合过程中,可能遇到的冲突问题,如ASM库的版本冲突,需要检查并移除重复或不兼容的jar包。对于这种情况,只需保留一个版本的ASM库即可,通常是更新或更稳定的版本。 使用SSH2整合的优点在于,它提供了强大的...
在使用Spring AOP编程时,由于Spring和Hibernate之间的版本不兼容,可能会出现类库冲突的情况,如使用了不同版本的ASM库等。 **解决方案**: - **统一ASM版本**:确保Spring和Hibernate使用的ASM版本一致。例如,...
接着,配置Proxool.xml文件,这是Spring与Hibernate整合中用于管理数据库连接池的配置。在这里,我们指定了数据库的URL、驱动类、用户名和密码,以及连接池的一些参数,如最小连接数、最大连接数、连接生命周期和...
新建一个Web项目,并将Struts2、Hibernate和Spring的JAR包导入到项目的WEB-INF/lib目录下。注意,这里可能会有版本兼容问题,例如文中提到的asm-2.2.3.jar冲突,需要删除并重新部署。 2. **添加Spring支持** 使用...
注意避免jar包冲突,例如ojdbc14.jar和asm.jar。确保使用正确的数据库驱动版本,并删除可能导致冲突的旧版jar包。 **9. 修改web.xml配置** 为了使整合生效,需要更新web.xml文件。添加以下配置: - MyFaces的...
在实际项目中,可能会遇到框架间的依赖冲突,比如 Spring 和 Hibernate 都依赖于 ASM 库的不同版本。这时,我们需要检查项目的类路径,确保导入的库是兼容的。对于共同依赖的 jar 包,比如 `common-collections.jar`...
### Struts+Spring+Hibernate框架整合相关知识点 #### 一、环境配置与依赖管理 **1.1 解决类冲突问题** 在使用Struts+Spring+Hibernate(简称SSH)进行项目开发时,可能会遇到类冲突的情况。特别是当涉及到Tomcat...
SSH整合是Java Web开发中常见的技术栈,由Struts2、Hibernate和Spring三个框架组成,用于构建高效、灵活的企业级应用。在本文中,我们将详细介绍如何手动配置SSH(Struts2 2.2.1、Hibernate 3.6和Spring 3.0.5)的...
在MyEclipse中配置Spring、Hibernate和Struts的集成是一项常见的任务,这个过程涉及到多个步骤,目的是将这三个流行的Java Web框架整合到一个项目中,以便实现MVC(模型-视图-控制器)架构。以下是详细的配置步骤和...