　　SSH框架应用中常用Jar包用途介绍
　　struts2需要的几个jar包：
　　1）xwork-core-2.1.6
　　2）struts2-core-2.1.8
　　3）ognl-2.7.3
　　4）freemarker-2.3.15
　　5）commons-io-1.3.2
　　6）commons-fileupload-1.2.1
　　这是最常用的几个包，没有这几个包是不行的
　　Hibernate 常用jar包 分析 - Walle2014
　　antlr-2.7.6.jar的作用
　　ANTLR (ANother Tool for Language Recognition) 是一个PCCTS制定的语言工具，它为他创建认定者，程序编译者，翻译者提供一个包括 java,c#和C++在内的语 法描述框架，使用from 多态查询语句时需要它。 语言转换工具，Hibernate利用它实现HQL到SQL的转换
　　错误情况： 项目中没有添加antlr-2.7.6.jar,hibernate不会执行hql语句
　　并且会报NoClassDefFoundError: antlr/ANTLRException错误
　　2.  commons-collections-3.1.jar的作用
　　Apache Commons 包中的一个，包含了一些Apache开发的集合类，功能比java.util.* 强大
　　错误情况： NoClassDefFoundError: org/apache/commons/collections/SequencedHashMap
　　3.  dom4j-1.6.1.jar的作用 是一个JAVA的XML API 类似于jdom，用来读写XML文件，dom4j是一个非常优秀的JAVA XML API， 具有性能优异，功能强大和易使用的特点，同时它也是一个开放源 代码的软件，可以在 SourceForge上找到它
　　错误情况： NoClassDefFoundError: org/dom4j/DocumentException
　　4.  javassist-3.12.0.GA.jar
　　代码生成工具, Hibernate用它在运行时扩展 Java类和实现
　　错误情况： java.lang.reflect.InvocationTargetException
　　5.  jta-1.1.jar
　　java Transaction API (JTA) 规范的包，是指定事务和事务处理和分布式事务处理系统之间的标准，JAVA接口，包括:资源管理，应用服务，和事务应用程序。
　　错误情况：NoClassDefFoundError: javax/transaction/Synchronization
　　6.  slf4j-api-1.6.1.jar 日志管理API
　　7.  hibernate3.jar
　　hibernate3.0的核心jar包，常用的session,Query,Transaction都位于这个jar文件中。
　　错误情况：Unresolved compilation problems
　　8.  hibernate-jpa-2.0-api-1.0.1.Final.jar sun公司提供,对于hibernate中通过注解 来完成javaBean影射表 的依赖包,通过它hibernate加强了通过注解来完成javaBean影射表
　　SSH框架应用中常用Jar包用途介绍
　　commons-logging-1.0.4.jar
　　Struts2加入了就不需要导入
　　log4j-1.2.15.jar
　　Hibernate加入了就不需要导入
　　Jar文件：红色的为一定没有问题的jar包
　　操作数据库的jar
　　mysql-connector-java-5.0.8-bin.jar
　　struts2
　　commons-logging-1.0.4.jarASF出品的日志包，Struts2框架使用这个日志包来支持Log4J的JDK1.4的日志记录。
　　commons-logging.jar：
　　log4j-1.2.15.jar
　　freemarker-2.3.8.jar模板相关操作需要包，Struts2的UI标签的模板使用FreeMarker编写。
　　ognl-2.6.11.jar ognl：对象导航图语言（Object Graph Navigation Language）,struts2框架通过其写对象的属性。
　　xwork-2.0.7.jar  xwork核心包，Struts2在其上构建
　　struts2-core-2.0.14.jar  struts2核心包
　　struts2-spring-plugin-2.0.14.jar  struts2整合spring所需要的包
　　commons-fileupload-1.2.1.jar：文件上传组件，struts-2.1.6版本之后需要加入此文件
　　commons-io-1.3.2.jar:上传文件依赖的jar包
　　hibernate的jar包
　　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-log4j-2-1.5.0.jar  hibernate使用一个日志系统，后者是slf4j转换log4j的中间接口。
　　cglib.jar   CGLIB字节码解析器
　　asm.jar    ASM字节码库，如果使用”cglib”则必要
　　echcache.jar  EHCache缓存，使用缓存
　　spring
　　spring-beans.jar：这个jar文件是所有应用都要用到的，它包含访问配置文件、创建和管理bean以及进行Inversion of Control / Dependency Injection（IoC/DI）操作相关的所有类。如果应用只需基本的IoC/DI支持，引入spring-core.jar及spring- beans.jar文件就可以了。
　　spring-context.jar：这个jar文件为Spring核心提供了大量扩展。可以找到使用Spring ApplicationContext特性时所需的全部类，JDNI所需的全部类，UI方面的用来与模板（Templating）引擎如 Velocity、FreeMarker、JasperReports集成的类，以及校验Validation方面的相关类。
　　spring-da0.jar:这个jar文件包含Spring DAO、Spring Transaction进行数据访问的所有类。为了使用声明型事务支持，还需在自己的应用里包含spring-aop.jar。
　　spring-orm.jar这个jar文件包含Spring对DAO特性集进行了扩展，使其支持 iBATIS、JDO、OJB、TopLink，因为Hibernate已经独立成包了，现在不包含在这个包里了。这个jar文件里大部分的类都要依赖 spring-dao.jar里的类，用这个包时你需要同时包含spring-dao.jar包。
　　spring-hibernate.jar:这个jar文件包含Spring对Hibernate2及Hibernate3进行封装的所有类。
　　spring-core.jar   这个jar文件包含Spring框架基本的核心工具类，Spring其它组件要都要使用到这个包里的类，是其它组件的基本核心，当然你也可以在自己的应用系统中使用这些工具类。spring-jdbc.jar包含是Spring对JDBC数据库访问进行封装的所有类
　　spring-aop.jar:这个jar文件包含在应用中使用Spring的AOP特性时所需的类。使用基于AOP的Spring特性，如声明型事务管理（Declarative Transaction Management），也要在应用里包含这个jar包。
　　spring-jdbc.jar:这个文件包含对Spring对JDBC数据访问进行封装的所有类。
　　Spring-remoting.jar:这个jar文件包含支持EJB,JMS,远程调用Remoting(RMI,Hessian,Http Invoker,JAX-RPC)方面的类。
　　spring-support.jar
　　这个jar文件包含支持缓存Cache（ehcache）、JCA、JMX、邮件服务（Java Mail、COS Mail）、任务计划Scheduling（Timer、Quartz）方面的类。
　　spring-web.jar
　　这个jar文件包含Web应用开发时，用到Spring框架时所需的核心类，包括自动载入WebApplicationContext特性的类、 Struts与JSF集成类、文件上传的支持类、Filter类和大量工具辅助类。
　　spring-webmvc.jar
　　这个jar文件包含Spring MVC框架相关的所有类。包含国际化、标签、Theme、视图展现的FreeMarker、JasperReports、Tiles、Velocity、 XSLT相关类。当然，如果你的应用使用了独立的MVC框架，则无需这个JAR文件里的任何类。
　　spring-tx.jar提供对事物的支持
　　aspectjrt.jar和aspectjweaver.jar:需要AOP的支持时需要的类。
　　c3p0-0.9.1.2.jar：使用c3p0数据库连接池时需要使用这个jar文件。
　　cglig-nodep-2.1.3.jar :使用动态代理的时候使用这个jar。
　　common-annotations.jar：IOC支持。
　　spring.jar：是包含有完整发布的单个jar包，spring.jar中包含了出spring-mock.jar里所有包含的内容的其他jar包的内容，因为只有在开发环境下才会用到spring-mock.jar来进行辅助测试，正式应用系统中是用不得这些类的。
　　除了spring.jar文件，Spring还包括有其它13个独立的jar包，各自包含着对应的Spring组件，用户可以根据自己的需要来选择组合自己的jar包，而不必引入整个spring.jar的所有类文件。
　　log4j-1.2.15.jar操作日志需要的包。
　　spring-mock.jar
　　这个jar文件包含Spring一整套mock类来辅助应用的测试。Spring测试套件使用了其中大量mock类，这样测试就更加简单。模拟 HttpServletRequest和HttpServletResponse类在Web应用单元测试是很方便的。
　　Commons-dbcp.jar:数据源     Commons-pool.jar 数据源
　　如何选择这些发布包，决定选用哪些发布包其实相当简单。如果你正在构建Web应用并将全程使用Spring，那么最好就使用单个全部的 spring.jar文件；如果你的应用仅仅用到简单的Inversion of Control / Dependency Injection（IoC/DI）容器，那么只需spring-core.jar与spring-beans.jar即可；如果你对发布的大小要求很高，那么就得精挑细选了，只取包含自己所需特性的jar文件了。采用独立的发布包你可以避免包含自己的应用不需要的全部类。当然你可以采用其它的一些工具来设法令整个应用包变小，节省空间的重点在于准确地找出自己所需的Spring依赖类，然后合并所需的类与包就可以了。Eclispe有个插件叫 ClassPath Helper可以帮你找找所依赖的类。
　　Spring包依赖说明:
　　1) spring-core.jar需commons-collections.jar，spring-core.jar是以下其它各个的基本。
　　2) spring-beans.jar需spring-core.jar，cglib-nodep-2.1_3.jar
　　3) spring-aop.jar需spring-core.jar，spring-beans.jar，cglib-nodep- 2.1_3.jar，aopalliance.jar
　　4) spring-context.jar需spring-core.jar，spring-beans.jar，spring- aop.jar，commons-collections.jar，aopalliance.jar
　　5) spring-dao.jar需spring-core.jar，spring-beans.jar，spring-aop.jar，spring- context.jar
　　6) spring-jdbc.jar需spring-core.jar，spring-beans.jar，spring-dao.jar
　　7) spring-web.jar需spring-core.jar，spring-beans.jar，spring-context.jar
　　8) spring-webmvc.jar需spring-core.jar/spring-beans.jar/spring-context.jar /spring-web.jar
　　9) spring- hibernate.jar需spring-core.jar，spring-beans.jar，spring-aop.jar，spring- dao.jar，spring-jdbc.jar，spring-orm.jar，spring-web.jar，spring-webmvc.jar
　　10) spring-orm.jar需spring-core.jar，spring-beans.jar，spring-aop.jar，spring- dao.jar，spring-jdbc.jar，spring-web.jar，spring-webmvc.jar
　　11) spring- remoting.jar需spring-core.jar，spring-beans.jar，spring-aop.jar，spring- dao.jar，spring-context.jar，spring-web.jar，spring-webmvc.jar
　　12) spring-support.jar需spring-core.jar，spring-beans.jar，spring- aop.jar，spring-dao.jar，spring-context.jar，spring-jdbc.jar
　　13) spring-mock.jar需spring-core.jar，spring-beans.jar，spring-dao.jar，spring- context.jar，spring-jdbc.jar