在Java社区,有那么一小撮人,觉得Java API还不足用,至少还不够好用,就起了给增强Java API的念头,于是Apache Commons项目诞生了。为了便于被使用,Apache Commons项目采用了与Java API的包一致的方式组织,于是出现了一系列子项目。
伴随着Apache Commons项目的发展,有些子项目保持了顽强的生命力,而有些则慢慢沦为弃子,还有些新的子项目不断产生。于是,Apache Commons项目首先被分为如下3个独立的组件库:
事实上,大家开发过程中,通常能够想起来的都属于Apache Commons Proper库,这也是我们后续要讨论的库。所以,默认提到Apache Commons项目都是指Apache Commons Proper库中的组件。
Apache Commons Proper库中的组件都是以子项目的形式组织,列表如下:
Components | Description | Latest Version | Released |
---|---|---|---|
BCEL | Byte Code Engineering Library - analyze, create, and manipulate Java class files | 6.2 | 2017-11-08 |
BeanUtils | Easy-to-use wrappers around the Java reflection and introspection APIs. 为Java Bean的动态属性(运行时才确定的属性)提供getter/setter方法。 主要工具类:PropertyUtils(推荐),BeanUtils | 1.9.3 | 2016-09-26 |
BSF | Bean Scripting Framework - interface to scripting languages, including JSR-223 | 3.1 | 2010-06-24 |
Chain | Chain of Responsibility pattern implemention. | 1.2 | 2008-06-02 |
CLI | Command Line arguments parser. | 1.4 | 2017-03-09 |
Codec | General encoding/decoding algorithms (for example phonetic, base64, URL). | 1.11 | 2017-10-20 |
Collections | Extends or augments the Java Collections Framework. | 4.1 | 2015-11-27 |
Compress | Defines an API for working with tar, zip and bzip2 files. | 1.17 | 2018-06-03 |
Configuration | Reading of configuration/preferences files in various formats. | 2.2 | 2017-10-12 |
Crypto | A cryptographic library optimized with AES-NI wrapping Openssl or JCE algorithm implementations. | 1.0.0 | 2016-07-22 |
CSV | Component for reading and writing comma separated value files. | 1.5 | 2017-09-03 |
Daemon | Alternative invocation mechanism for unix-daemon-like java code. | 1.0.15 | 2013-04-03 |
DBCP | Database connection pooling services. | 2.3.0 | 2018-05-12 |
DbUtils | JDBC helper library. | 1.7 | 2017-07-20 |
Digester | XML-to-Java-object mapping utility. | 3.2 | 2011-12-13 |
Library for sending e-mail from Java. | 1.5 | 2017-08-01 | |
Exec | API for dealing with external process execution and environment management in Java. | 1.3 | 2014-11-06 |
FileUpload | File upload capability for your servlets and web applications. | 1.3.3 | 2017-06-13 |
Functor | A functor is a function that can be manipulated as an object, or an object representing a single, generic function. | 1.0 | 2011-??-?? |
Geometry | Space and coordinates. | 1.0 | 2018-??-?? |
Imaging (previously called Sanselan) | A pure-Java image library. | 0.97-incubator | 2009-02-20 |
IO | Collection of I/O utilities. | 2.6 | 2017-10-15 |
JCI | Java Compiler Interface | 1.1 | 2013-10-14 |
JCS | Java Caching System | 2.2 | 2017-08-02 |
Jelly | XML based scripting and processing engine. | 1.0.1 | 2017-09-27 |
Jexl | Expression language which extends the Expression Language of the JSTL. | 3.1 | 2017-04-14 |
JXPath | Utilities for manipulating Java Beans using the XPath syntax. | 1.3 | 2008-08-14 |
Lang | Provides extra functionality for classes in java.lang. Lang 3.0开始使用commons-lang3的构件名称。 主要工具类:StringUtils, ArrayUtils | 3.7 | 2017-11-08 |
Logging | Wrapper around a variety of logging API implementations. | 1.2 | 2014-07-11 |
Math | Lightweight, self-contained mathematics and statistics components. | 3.5 | 2015-04-17 |
Net | Collection of network utilities and protocol implementations. | 3.6 | 2017-02-15 |
Numbers | Number types (complex, quaternion, fraction) and utilities (arrays, combinatorics). | 1.0 | 2017-??-?? |
OGNL | An Object-Graph Navigation Language | 4.0 | 2013-??-?? |
Pool | Generic object pooling component. | 2.5.0 | 2017-12-19 |
Proxy | Library for creating dynamic proxies. | 1.0 | 2008-02-28 |
RDF | Common implementation of RDF 1.1 that could be implemented by systems on the JVM. | 0.3.0-incubating | 2016-11-15 |
RNG | Implementations of random numbers generators. | 1.0 | 2016-12-13 |
SCXML | An implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. It is capable of executing a state machine defined using a SCXML document, and abstracts out the environment interfaces. | 0.9 | 2008-12-01 |
Statistics | Statistics. | 0.1 | ????-??-?? |
Text | Apache Commons Text is a library focused on algorithms working on strings. 处理文本(非字符串) | 1.3 | 2018-03-21 |
Validator | Framework to define validators and validation rules in an xml file. | 1.6 | 2017-02-21 |
VFS | Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. | 2.2 | 2017-10-06 |
Weaver | Provides an easy way to enhance (weave) compiled bytecode. | 1.3 | 2016-10-18 |
参考链接:
http://commons.apache.org/