`

Struts+Spring+Hibernate开发时ASM版本冲突引起的问题

阅读更多

错误如下

2008-7-18 20:22:02 org.apache.catalina.core.StandardContext listenerStart
严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
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;)V
Caused 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)
at net.sf.cglib.core.KeyFactory$Generator.generateClass(KeyFactory.java:173)
at net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25)
at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:215)
at net.sf.cglib.core.KeyFactory$Generator.create(KeyFactory.java:145)
at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:117)
at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:108)
at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:104)
at org.hibernate.impl.SessionFactoryImpl.<clinit>(SessionFactoryImpl.java:321)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1005)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:805)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:745)
at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:134)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1203)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1172)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:285)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:189)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:924)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:887)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)


解决办法:

删除asm-2.2.3.jar asm-commons-2.2.3.jar asm-util-2.2.3.jar antlr-2.7.5H3.jar这几个文件。

注:最好删除lib中无用的jar文件,特别是版本号不同的文件时,只保留一个版本。

分享到:
评论

相关推荐

    用户登录(Struts1.2+Spring2.5+Hibernate3.2)

    1、可以运行(发布后,删除\Tomcat 6.0\webapps\ssh\WebRoot\WEB-INF\lib下的asm-2.2.3.jar) 2、采用Struts1.2 + Spring2.5 + Hibernate3.2 整合开发 3、SSH入门级实例

    用户注册和登录是每个系统的必须存在的一部分,基于Dwr+Struts2+Spring+Hibernate写了一个用户登录注册系统

    4. //如果不用此包,在启动时会抛出: nested exception is java.lang.NoClassDefFoundError: org/objectweb/asm/Type 5. asm.jar 6. 7. // 如果不用此包,在启动时抛 出:nested exception is java.lang....

    Struts+Spring+Hibernate整合详细

    值得注意的是,在Spring与Hibernate的共同使用中,可能会遇到`asm.jar`版本冲突的问题。为了解决这个问题,通常需要移除Spring自带的`asm-2.2.3.jar`,保留Hibernate所依赖的`asm.jar`版本,以避免运行时错误。 ###...

    Struts+Spring+Hibernate整合注册登录_好资源0分送

    【Struts+Spring+Hibernate整合】是企业级Java Web应用中常见的技术栈,这三种框架的结合能够实现模型-视图-控制器(MVC)架构的高效开发,提供数据持久化、业务逻辑处理以及前端控制的完美融合。在这个特定的项目中...

    Struts2.1+Spring2+Hibernate3.3整合

    Struts2.1+Spring2+Hibernate3.3的整合是Java Web开发中常见的MVC框架集成方案,常被称为SSH2整合。这三个框架分别扮演不同的角色:Struts2作为前端控制器,负责处理用户请求和视图展示;Spring则提供依赖注入(DI)...

    Struts2.1.6+Spring2.0+Hibernate3.1

    根据给定文件的信息,本文将详细介绍如何配置Struts2.1.6、Spring2.0与Hibernate3.1这三个框架的整合开发环境。这是一套经典的MVC(Model-View-Controller)架构组合,适用于构建复杂的Java Web应用程序。 ### 一、...

    struts2.1+spring3.0+hibernate3.3整合小例子

    ### Struts2.1 + Spring3.0 + Hibernate3.3 整合示例解析 #### 一、项目概述 本篇文章将详细解读一个基于Struts2.1、Spring3.0以及Hibernate3.3的整合项目案例。该案例不仅展示了如何搭建这样一个集成环境,还特别...

    Struts+Spring+Hibernate补充内容

    在使用Struts+Spring+Hibernate(简称SSH)进行项目开发时,可能会遇到类冲突的情况。特别是当涉及到Tomcat服务器下的`/WEB-INF/lib`目录中的第三方库版本不一致时,这种冲突会更加明显。例如,提到的`asm-2.2.3.jar...

    Struts+Spring+Hibernate图文教程整合注册登录.doc

    编程过程中可能会遇到问题,比如在整合SSH后,发布到Tomcat时可能出现由于Spring和Hibernate中ASM库冲突导致的错误。解决方法是删除Spring AOP Libraries中的`asm-2.2.3.jar`,以消除冲突。 在应用上下文配置文件中...

    Struts+Spring+Hibernate程序架设步骤.doc

    13. **处理库冲突**:检查并管理项目的JAR包,确保无版本冲突,如删除可能引发问题的asm-2.2.3.jar。 以上步骤完成了SSH框架的集成,实现了简单的用户登录注册功能。SSH框架结合了Struts的控制层、Spring的服务层和...

    struts2.1.6+spring2.0+hibernate3.2常用配置包

    MyEclipse8.0中自带的struts2版本是2.1.6,spring版本有2.0,2.5的,hibernate版本较多些至3.2,首先选版本就选择最优的,struts2没的选只有2.1.6版的,所以先导入struts2支持,然后是spring选的是2.0,问题就出在...

    Struts2+Spring2.5.6+Hibernate3 用到的jar包

    Struts2+Spring2.5.6+Hibernate3 用到的jar包 antlr-2.7.6.jar asm.jar backport-util-concurrent.jar cglib-nodep-2.1_3.jar commons-collections-3.1.jar commons-dbcp.jar commons-fileupload-1.2.1.jar commons-...

    MyEclipse8.0 Struts2+Spring+Hibernate

    在IT行业中,构建高效、可维护的企业级应用是至关重要的,而Struts2、Spring和Hibernate这三大框架的整合是实现这一目标的常见途径。在本篇内容中,我们将详细探讨如何在MyEclipse8.0环境下整合Struts2.1、Spring3.0...

    Dwr2+Struts2+Spring2.5+Hibernate3实战——用户登录注册系统

    在构建项目时,作者提到了MyEclipse工具可以帮助快速配置Spring和Hibernate,但对于Struts2,由于MyEclipse尚未集成,需要手动添加。此外,文章还列举了项目中必需的Jar文件,包括antlr、asm、aspectjweaver、cglib...

    Struts1.3+spring2.5+Hibernate3.3所有用到的包

    Struts1.3、Spring2.5和Hibernate3.3是经典的Java企业级开发框架组合,通常被称为SSH(Struts + Spring + Hibernate)框架。这个组合在过去的许多项目中被广泛应用,提供了强大的功能来构建MVC(Model-View-...

    整合struts2.2.1+spring3.0.4+hibernate3.6选择jar包

    特别需要注意的是,由于**commons-collections-3.1.jar**与Struts2所使用的版本可能存在冲突,因此应仅保留Struts2的版本。 通过以上介绍,我们可以清晰地了解到在整合Struts2.2.1、Spring3.0.4和Hibernate3.6时所...

    MyEclipse整合Struts2+Spring+Hibernate详解

    本文档将详细介绍如何使用MyEclipse集成开发环境(IDE)搭建并整合Struts2、Spring与Hibernate这三个流行的企业级Java开发框架。通过本教程的学习,读者能够掌握在实际项目中如何有效地集成这些框架,并解决在集成...

    Spring3+Hibernate4+Struts2 jar包 SSH框架

    spring 3.2.0+hibernate 4.1.6+struts2整合需要的jar包 的目录 antlr-2.7.7.jar aopalliance-1.0.jar asm-3.3.jar asm-commons-3.3.jar aspectjweaver-1.5.3.jar bonecp-0.7.1.RELEASE.jar cglib-2.1.3.jar ...

    新版SSH+DWR配置(Struts2.1.8+Spring3.0+Hibernate3.3.2+DWR2.0.6).doc

    例如,antlr和commons-lang是Struts2的基础,cglib和asm用于Spring的AOP代理,hibernate相关的jar用于ORM,而dwr-2.06.jar则是DWR的核心库。 配置步骤如下: 1. **Struts2配置**: - 在`struts.xml`中配置Struts2...

    \第十一章 开发Spring+Struts+Hibernate应用.pdf

    - **总结**:本章主要介绍了如何利用Spring、Struts和Hibernate这三个流行的Java框架来开发Web应用,并详细解释了各个步骤的具体实现方法。 - **重点**:Spring与Struts、Hibernate的整合技术是当前企业级应用开发中...

Global site tag (gtag.js) - Google Analytics