分享

Spring学习8

 昵称15704437 2014-02-23
struts2
commons-logging-1.0.4.jar 主要用于日志处理
freemarker-2.3.8.jar 模板相关操作需要包
ognl-2.6.11.jar ognl表达示所需包,
xwork-2.0.7.jar xwork核心包
struts2-core-2.0.14.jar struts2核心包
struts2-spring-plugin-2.0.14.jar struts2整合spring所需要的包
如果还需要整合其它框架或者插件,再导入其它的包




hibernate
Hibernate3.jar hibernate核心包
antlr-2.7.6.jar 一个语言转换工具
Hibernate利用它实现 HQL 到 SQL 的转换模板相关操作需要包
commons-collections-3.1.jar collections Apache 的工具集
javassist-3.9.0.GA.jar 代码生成工具,
Hibernate用它在运行时扩展 Java类和实现,同cglib包
dom4j-1.6.1.jar dom4j XML 解析器
jta-1.1.jar 标准的 JAVA 事务处理接口
slf4j-api-1.5.8.jar和slf4j-log4j12-1.5.0.jar hibernate使用的一个日志系统
cglib.jar CGLIB 字节码解释器
asm.jar ASM字节码库 如果使用“cglib”则必要
asm-attrs.jar ASM字节码库 如果使用“cglib”则必要
如果想使用缓存需要加入:ehcache.jar EHCache缓存
连接数据库加入相关包....





spring
spring-beans.jar 访问配置文件、创建和管理bean 以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类
spring-context.jar 可以找到使用Spring ApplicationContext特性时所需的全部类,JDNI 所需的全部类,instrumentation组件以及校验Validation 方面的相关类
spring-core.jar Spring 框架基本的核心工具类
spring-jdbc.jar 包含对Spring 对JDBC 数据访问进行封装的所有类
spring-orm.jar 对映射框架的一些支持
spring-tx.jar 提供对事务的支持
如果还需要AOP的支持,还要加上aspectjrt.jar和aspectjweaver.jar


其它可选包:
commons-beanutils-1.6.jar
commons-dbcp-1.2.2.jar
commons-pool-1.4.jar
commons-fileupload-1.2.1.jar
commons-io-1.4.jar

最后还要加上log4j.jar

 

资料一:

在SSH整合的项目中出现NotFoundException: org.objectweb.asm.codevisitor的错误时,原因主要可能有以下几点:
在使用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.3.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

另外需要的注意的是,在使用MyEclipse编程时,有时候jar包从classpath中移除之后会放在WEB-INF\lib下,此时确定将WEB-INF\lib下的jar文件删除才行。

 

资料二:

报如如下下错误/异常:
Java代码
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  
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

导致原因:

       在使用spring的Aop进行编程时,需要用到asm*.jar,而Hibernate也需要用到asm相关的jar文件,如果在一个工程的构建路径中存在两个asm*.jar,那么这两个jar中的类就会存在冲突,从而导致该问题的产生。

解决:经过网上多翻查找得到多个解决办法,后终于总结出 3 种解决之道:

     检查lib下面关于asm的包,分别有如下几个JAR包:
       asm-2.2.3.jar
       asm.jar
       asm-attrs.jar
       asm-commons-2.2.3.jar
       asm-util-2.2.3.jar


第一种方法↓

-->删除 asm-2.2.3.jar 重启应用服务器 OK! ...

第二种方法↓

-->从网上下一个最新的asm-all-3.0.jar的jar包,然后把原来的关于Hibernate的所有asm开头的jar包全部删掉,还有一个cglib-2.1.3.jar也删掉.

重新部署工程,OK! ...

第三种方法↓

-->去掉类路径上的关于Hibernate的3个lib
    asm.jar
    asm-attrs.jar
    cglib-2.1.3.jar
    再加入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

    OK! ...

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多