The Commons is an Apache project focused on all aspects of reusable Java components.
The Apache Commons project is composed of three parts:
The Commons Proper is dedicated to one principal goal: creating and maintaining reusable Java components. The Commons Proper is a place for collaboration and sharing, where developers from throughout the Apache community can work together on projects to be shared by the Apache projects and Apache users.
Commons developers will make an effort to ensure that their components have minimal dependencies on other libraries, so that these components can be deployed easily. In addition, Commons components will keep their interfaces as stable as possible, so that Apache users (including other Apache projects) can implement these components without having to worry about changes in the future.
| Attributes |
Runtime API to metadata attributes such as doclet tags. |
| BeanUtils |
Easy-to-use wrappers around the Java reflection and introspection APIs. |
| Betwixt |
Services for mapping JavaBeans to XML documents, and vice versa. |
| Chain |
"Chain of Responsibility" pattern implemention. |
| CLI |
Command Line arguments parser. |
| Codec |
General encoding/decoding algorithms (for example phonetic, base64, URL). |
| Collections |
Extends or augments the Java Collections Framework. |
| Configuration |
Reading of configuration/preferences files in various formats. |
| Daemon |
Alternative invocation mechanism for unix-daemon-like java code. |
| DBCP |
Database connection pooling services. |
| DbUtils |
JDBC helper library. |
| Digester |
XML-to-Java-object mapping utility. |
| Discovery |
Tools for locating resources by mapping service/reference names to resource names. |
| EL |
Interpreter for the Expression Language defined by the JSP 2.0 specification. |
| Email |
Library for sending e-mail from Java. |
| FileUpload |
File upload capability for your servlets and web applications. |
| HttpClient |
Framework for working with the client-side of the HTTP protocol. |
| IO |
Collection of I/O utilities. |
| JCI |
Java Compiler Interface |
| Jelly |
XML based scripting and processing engine. |
| Jexl |
Expression language which extends the Expression Language of the JSTL. |
| JXPath |
Utilities for manipulating Java Beans using the XPath syntax. |
| Lang |
Provides extra functionality for classes in java.lang. |
| Launcher |
Cross platform Java application launcher. |
| Logging |
Wrapper around a variety of logging API implementations. |
| Math |
Lightweight, self-contained mathematics and statistics components. |
| Modeler |
Mechanisms to create Model MBeans compatible with JMX specification. |
| Net |
Collection of network utilities and protocol implementations. |
| Pool |
Generic object pooling component. |
| Primitives |
Smaller, faster and easier to work with types supporting Java primitive types. |
| 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. |
| Transaction |
Implementations for multi level locks, transactional collections and transactional file access. |
| Validator |
Framework to define validators and validation rules in an xml file. |
| VFS |
Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system. |
See Other Best Common Tools Projects in Java: