经常使用Java开源库(新手必看)

Jakarta common:html

 Commons Logging
Jakarta Commons Logging (JCL)提供的是一个日志(Log)接口(interface),同时兼顾轻量级和不依赖于具体的日志实现工具。 它提供给中间java

件/日志工具开发者一个简单的日志操做抽象,容许程序开发人员使用不一样的具体日志实现工具。用户被假定已熟悉某种日志实现工具的更高级程序员

别的细节。JCL提供的接口,对其它一些日志工具,包括Log4J, Avalon LogKit, and JDK 1.4等,进行了简单的包装,此接口更接近于Log4J和web

LogKit的实现. 正则表达式

 Commons-Latka
Commons-Latka 是一个HTTP 功能测试包,用于自动化的QA,验收和衰减测试. 算法

 Commons-Pool
Commons-Pool 提供了通用对象池接口,一个用于建立模块化对象池的工具包,以及一般的对象池实 spring

 Commons-Math
Math 是一个轻量的,自包含的数学和统计组件,解决了许多很是通用但没有及时出如今Java标准语言中的实践问题. 数据库

 Commons-Jelly
Jelly可以把XML转换成可执行代码,因此Jelly是一个基于XML与Java的脚本和处理引擎。 Jelly借鉴了JSP定指标签,Velocity, apache

Cocoon和Xdoclet中的脚本引擎的许多优势。Jelly能够用在命令行,Ant或者Servlet之中。 编程

 Commons-FileUpload
FileUpload 使得在你能够在应用和Servlet中容易的加入强大和高性能的文件上传能力.

 Commons-BeanUtils
Commons-BeanUtils 提供对 Java 反射和自省API的包装

 Commons-Chain
Chain 提供实现组织复杂的处理流程的“责任链模式”.

 Commons-Codec
Codec 包含一些通用的编码解码算法。包括一些语音编码器, Hex, Base64, 以及URL encoder.

 Commons-Collections
Commons-Collections 提供一个类包来扩展和增长标准的 Java Collection框架

 Commons-Discovery
Commons-Discovery 提供工具来定位资源 (包括类) ,经过使用各类模式来映射服务/引用名称和资源名称。

 Commons-EL
Commons-EL 提供在JSP2.0规范中定义的EL表达式的解释器.

 Commons-Jexl
Jexl是一个表达式语言,经过借鉴来自于Velocity的经验扩展了JSTL定义的表达式语言。.

 Jakarta Commons HttpClient
HttpClient做为HTTP客户端组件与服务器进行通信,同时使用了jdom进行XML数据的解析。

 Jakarta Commons Net
一个用于操做Internet基础协议(Finger,Whois,TFTP,Telnet,POP3,FTP,NNTP,以及SMTP)的底层API。Net包不只支持对各类低层次协

议的访问,并且还提供了一个高层的抽象。它使得开发者再也不须要直接面对各类协议的Socket级的低层命令。

 Commons-Configuration
Commons-Configuration 工具能够从
*Properties文件
*XML文件
*JNDI
*JDBC 数据源
*System properties
*Applet parameters
*Servlet parameters等来读取相应的信息

 Commons-validator
commons-validator提供了一个简单的,可扩展的框架来在一个XML文件中定义校验器 (校验方法)和校验规则。支持校验规则的和错误消息的国

际化。

 Commons-Digester
Digester基于规则的XML文档解析,主要用于XML到Java对象的映射.

 Commons Betwixt
Commons Betwixt这个组件提供一个XML自省(introspection)机制用来把Java Bean映射到XML文档.他实现了与标准的Introspector及BeanInfo

类类似的XMLIntrospector及XMLBeanIfno类.

 Commons-Convert
Commons-Convert的目标是提供一个简单的包来完成把一种类型的对象转换成另外一种.但它目前只支持String到Object或Object到String的转换.

 Commons4E
这个Eclipse插件方便了利用Jakarta Commons组件所进行地开发.Commons4E根据用户选择的字段(fields)利用commons-lang builders来自动生

成如下方法:toString(),hashcode(),equals(Object)和compareTo(Object).

 Commons-Email
Commons-Email的目的是提供一组用于发送Email的API,它基于Java Mail API基础之上并进行了简化。它提供的主要Java类有:SimpleEmail:

这个类用于发送简单的文本类型email。MultiPartEmail:这个类容许发送文本消息并附带附件。HtmlEmail:用于发送Html格式的附件并支持

内含图片。EmailAttachment:这是一个简单的容器类用于简化附件的处理。

 Commons-IO
Commons IO是Jakarta Commons项目的一个子项目。用来帮助进行IO功能开发.它包含三个主要的领域:Utility classes-提供一些静态方法来

完成公共任务.Filters-提供文件过滤器的各类实现.Streams-提供实用的Stream,reader与writer实现.
-----------------------------------------------------------------------------

ANother Tool for Language Recognition(ANTLR):它的描述语言能够生成词法分析器、语法分析器与语义分析器,也就是说,咱们能够用它

来识别加工不一样的语言(编译器的编译器)。它同时支持3大类语言的输出:C++, Java, C#(按照生日排序),也就是说,咱们能够利用它来

用C#生成编译器,它是这样的一种工具,它能够接受词文法语言描述,并能产生识别这些语言的语句的程序。做为翻译程序的一部分,你可使用

简单的操做符和动做来参数化你的文法,使之告诉ANTLR怎样去建立抽象语法树(AST)和怎样产生输出。ANTLR知道怎样去生成识别程序,语言包

括Java,C++,C#. 。相似的还有coco/r 。

cglib是一个强大的,高性能,高质量的Code生成类库。它能够在运行期扩展Java类与实现Java 接口。Hibernate用它来实现PO字节码的动态生成

。 主页 http://cglib.sourceforge.net


c3p0-0.8.4.5.jar

c3p0是一个容易使用的java库,用于扩充传统的基于驱动管理的JDBC驱动和JNDI绑定数据源,包括执行Connection和Statement Pooling的数据

源。


cleanimports是对java文件中的无用的imports做清理,并经过配置文件提供的格式对imports代码段进行格式整理。

concurrent-1.3.2.jar

concurrent包提供标准化、高效的版本的实用的类,用于并行的Java程序。
http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html

 


connector.jar
JCA(J2EE Connector Architecture)规范的包

 

dom4j-1.5.2.jar
Dom4J是一个在Java平台上使用Java Collections Framework与XML、 XPath和XSLT协同工做的开源Java库,它全面支持DOM、SAX和JAXP。

ehcache-1.1.jar

EHCache 是一个纯java的在进程中的缓存,它具备如下特性:快速,简单,为Hibernate2.1充当可插入的缓存,最小的依赖性,全面的文档和

测试。
官方网站 http://ehcache.sourceforge.net/

 

jaxen-1.1-beta-4.jar
jaxen是一个用Java开发的XPath 引擎,用于配合各类基于XML的对象模型,如DOM, dom4j ,JDOM以及Java Beans。
jboss-cache.jar
JBossCache是一个复制的事务处理缓存,它容许你缓存企业级应用数据来更好的改善性能。缓存数据被自动复制,让你轻松进行JBoss服务器之

间的集群工做。JBossCache可以经过JBoss应用服务或其余J2EE容器来运行一个MBean服务,固然,它也能独立运行。
JBossCache包括两个模块:TreeCache和TreeCacheAOP。
TreeCache --是一个树形结构复制的事务处理缓存。
TreeCacheAOP --是一个“面向对象”缓存,它使用AOP来动态管理POJO(Plain Old Java Objects)
注:AOP是OOP的延续,是Aspect Oriented Programming的缩写,意思是面向方面编程。
官方网站 http://www.jboss.org/products/jbosscache
jboss-jmx.jar
JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架。JMX是一套标准的代理和服务,实际上,用户能够在任何Java应用

程序中使用这些代理和服务实现管理。

 

oscache-2.0.2.jar
OSCache是个一个普遍采用的高性能的J2EE缓存框架,OSCache能用于任何Java应用程序的普通的缓存解决方案。
OSCache有如下特色:
缓存任何对象,你能够不受限制的缓存部分jsp页面或HTTP请求,任何java对象均可以缓存。
拥有全面的API--OSCache API给你全面的程序来控制全部的OSCache特性。
永久缓存--缓存能随意的写入硬盘,所以容许昂贵的建立(expensive-to-create)数据来保持缓存,甚至能让应用重启。
支持集群--集群缓存数据能被单个的进行参数配置,不须要修改代码。
缓存记录的过时--你能够有最大限度的控制缓存对象的过时,包括可插入式的刷新策略(若是默认性能不须要时)。
官方网站 http://www.opensymphony.com/oscache/


proxool-0.8.3.jar
Proxool是Java数据库链接池,它能向存在的JDBC驱动中透明的增长数据库链接池。


swarmcache-1.0rc2.jar
SwarmCache是一个简单且有效的分布式缓存,它使用IP multicast与同一个局域网的其余主机进行通信,是特别为集群和数据驱动web应用程序

而设计的。SwarmCache可以让典型的读操做大大超过写操做的这类应用提供更好的性能支持。
SwarmCache使用JavaGroups来管理从属关系和分布式缓存的通信。
官方网站 http://swarmcache.sourceforge.net


xalan-2.6.jar
Xalan名称来自于一种罕见的乐器。

Xalan-Java是一个将XML转换成HTML、text或其余XML文件类型的XSLT(XSL Transformations)处理机制。它使用XSL Transformations (XSLT)

Version 1.0 and XML Path Language (XPath) Version 1.0。它在命令行方式、applet、servlet、或其余程序的模块中均可以使用。
Xalan同时构建于SAX2和DOM level 2上。

官方网站;http://xml.apache.org/xalan-j/

xerces-2.6.2.jar

Xerces(名称来源于一种叫Xerces

Blue的蝴蝶)提供世界级的XML解析和产生。充分验证的语法分析可用于Java和C++,执行W3C的XML和DOM(Level1 and

2)标准,以及SAX(version 2)标准。其语法具备高模块化和可配置化。同时提供支持XML Schema(W3C标准草案)。


checkstyle检查java程序源代码编码风格的,是java程序员不可或缺的工具,用以检查本身的编码习惯是否符合公司的要求或sun的约定。固然

若是你用了ide,那里可能有相应的功能或插件来帮助程序员来完成这项工做。也如checkstyle其名所示,它只检查,不进行beautifier操做。

因此,它应比较适合用于项目管理,用于dailybuild.若是你想借助工具来beautifier你的java源代码,能够参考我写的jalopy安装使用.


Clickstream:它是一个JavaServlet过滤器,用来跟踪用户请求(好比:点击)和请求 队列(好比:点击流)以向网络管理员显示谁在她的网

站上以及每一个用户正在访问那个页面。 http://www.opensymphony.com/clickstream/


Cargo是一个Java类包用来操做当前J2EE容器.它提供了Ant和Maven API来中止/启动/配置Java容器也提供了Java API来解释/建立J2EE组件.


DbUnit是为数据库驱动的项目提供的一个对JUnit 的扩展,除了提供一些经常使用功能,它能够将你的数据库置于一个测试轮回之间的状态。

iText是一个可以快速产生PDF文件的java类库。iText的java类对于那些要产生包含文本,表格,图形的只读文档是颇有用的。它的类库尤为与

java Servlet有很好的给合。使用iText与PDF可以使你正确的控制Servlet的输出。

DWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可让AJAX开发变得很简单.利用DWR能够在客户端利用JavaScript直接调用

服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用同样(DWR根据Java类来动态生成JavaScrip代码).它的最新版本DWR0.6添加

许多特性如:支持Dom Trees的自动配置,支持Spring(JavaScript远程调用spring bean),更好浏览器支持,还支持一个可选的commons-logging日

记操做.

 

 Java2Html 可以的把java源代码转换为高亮有序的HTML, RTF, TeX 与 XHTML格式。这个开源项目有一个java applet 与许多插件以便可以与

其它系统很好的给合。

jMock利用mock objects思想来对Java code进行测试。jMock具备如下特色:容易扩展,让你快速简单地定义mock objects,所以没必要打破程序间

的关联,让你定义灵活的超越对象之间交互做用而带来测试局限,减小你测试地脆弱性。

 

PMD是一个Java源码分析器。它能够发现不须要使用的变量,空的Catch块和不须要建立的对象等。它还包含一个CPD工具能够探测一块代码中相

同的部分。

 

OS(OpenSymphony)的SiteMesh是一个用来在JSP中实现页面布局和装饰(layout and decoration)的框架组件,可以帮助网站开发人员较容易

实现页面中动态内容和静态装饰外观的分离。

 

Velocity是一个基于java的模板引擎(template engine)。它容许任何人仅仅简单的使用模板语言(template language)来引用由java代码

定义的对象。 当Velocity应用于web开发时,界面设计人员能够和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设

计人员能够只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的

长期维护提供了便利,同时也为咱们在JSP和PHP以外又提供了一种可选的方案。 Velocity的能力远不止web站点开发这个领域,例如,它能够

从模板(template)产生SQL和PostScript、XML,它也能够被看成一个独立工具来产生源代码和报告,或者做为其余系统的集成组件使用。Vel

ocity也能够为Turbine web开发架构提供模板服务(template service)。Velocity+Turbine提供一个模板服务的方式容许一个web应用以一个

真正的MVC模型进行开发。 【VeloEclipse :Velocity在Eclipse平台下的一个辅助开发插件】

Jakarta ORO一套文本处理工具,能提供perl5.0兼容的正则表达式,AWK-like正则表达式, glob表达式。还提供替换,分割,文件名过虑等功能.


caucho:
Burlap是一个轻量级的XML RPC协议.利用Burlap Web服务协议使用Web服务不须要大型的框架也不用学习其它协议字母汤(alphabet soup).

Caucho Resin提供了最快的jsp/servlets运行平台。它支持Servlet,XSL Filtering6而且具有XSLT和XPath1.0引擎。

Hessian也是一个轻量级的,自定义描述的二进制RPC协议.由于它是一个二进制协议,因此它很适合于发送二进制数据而须要使用其它附件来扩展

这个协议.

-----------------
cos上传组件它是著名O'Reilly的图书出版公司开发的。这个上传的组件作得很棒。


EasyMock为Mock Objects提供接口并在JUnit测试中利用Java的proxy设计模式生成它们的实例。EasyMock最适合于测试驱动开发。

FreeMarker容许Java servlet保持图形设计同应用程序逻辑的分离,这是经过在模板中密封HTML完成的。模板用servlet提供的数据动态地生成

HTML。模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。

Jamon是一个Java文本模板引擎,用于生成动态HTML, XML,或任何基于文本的内容。它有一个丰富的功能集,支持封装,参数化,功能分解,表

达逻辑重用。模板声明它们要求生成的参数,包括动态模板内容("fragments"),并被翻译成带有公有方法的Java类,它的符号反映了在模板中

声明的参数。


JasperReports是一个基于Java的开源报表工具,它能够在Java环境下像其它IDE报表工具同样来制做报表。JasperReports支持PDF、HTML、XLS

、CSV和XML文件输出格式。JasperReports是当前Java开发者最经常使用的报表工具。
Java Excel API(JXL)是一个成熟,开源的Excel电子表格读取,修改,写入的项目。Java开发者利用它简单,便利的API就可以读取Excel电子

表格,进行修改并可以把修改后的变化写到任何output stream中(如:Disk, HTTP, database, 或任何socket),这个项目基于GPL发布,并且对中

文有很好的支持。
● 支持字体、数字、日期操做
● 可以修饰单元格属性
● 支持图像和图表

 

JOTM 是一个基于Java开放源代码的事务处理管理器。它遵循JTA APIs规范与Business Transaction Protocol(BTP)规范以提供了对Web

Service的支持。

ObJectRelationalBridge-OJB是基于XML的对象/关系映射工具.OJB提供一些高级的特性如:对象缓存,延迟加载,利用事务隔离级别的结构进行分

布式管理,支持悲观与乐观锁.OJB还提供了一个灵活的配置与插件机制以即可以扩展加入本身的功能.

Jakarta POI可让你使用Java来读写MS Excel ,Word文件


Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它能够与J2EE与J2SE应用程序相结合也能够单独使用。Quartz能够用来

建立简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的日程序表。Jobs能够作成标准的Java组件或 EJBs。

相关文章
相关标签/搜索