We're the Commons community, dedicated to creating reusable library components in Java. Apache Commons mainly uses Git as the version control system, and Commons components are available as read-only mirrors on Github.
Bug Reports: Jira
Security Reports: Security
Components are subprojects of Commons. Every component provides, and maintains one or more jar files, building a library. We distinguish components
by maturity status: Proper (Mature, Releases available), Sandbox (Immature, never released), and Dormant (No longer active, unmaintained).
|BeanUtils||Proper||Utilities for manipulating java beans, including copying properties, cloning, invoking methods and type conversion.|
|Betwixt||Dormant||Services for mapping JavaBeans to XML documents, and vice versa.|
|Chain||Proper||A "Chain of Responsibility" pattern implemention for organizing complex processing flows.|
|CLI||Proper||Command Line Interface library for processing command-line options and arguments.|
|Codec||Proper||General encoding/decoding algorithms. Includes some phonetic encoders, Hex, Base64, and a URL encoder.|
|Collections||Proper||Builds upon the Java Collections Framework of List, Set and Map to provide many more implementations, new collections and abstract base classes.|
|Configuration||Proper||Tools to assist in the reading of configuration/preferences files in various formats|
|Compress||Proper||Defines an API for working with archives and compression formats including but not limited to: tar,gz, ar, cpio, zip and bzip2 files|
|Daemon||Proper||Run (java) applications as windows service or UNIX daemon.|
|DBCP||Proper||Database connection pooling services.|
|Digester||Proper||XML-to-Java-object mapping utility.|
|Proper||Simplify email sending with Java. Built on top of the Java Mail API.|
|Exec||Proper||A Java library to execute external processes from within a Java application.|
|FileUpload||Proper||Makes it easy to add robust, high-performance, file upload capability to your servlets and web applications|
|Functor||Proper||A functor is a function that can be manipulated as an object, or an object representing a single, generic function.|
|IO||Proper||Utility classes, stream implementations, file filters and endian classes to assist in input/output operations.|
|JCI||Proper||Java Compiler Interface|
|JCS||Proper||Java Caching System|
|JEXL||Proper||A velocity-esque expression interpreter|
|Jelly||Proper||An XML-based scripting language.|
|JXPath||Proper||Facilities for applying xpath expressions to graphs of objects of all kinds: Java beans, Maps, Servlet contexts, DOM etc.|
|Lang||Proper||Common utilities that should be provided by the JDK, including String handling, Object and Date helpers, nested exceptions and enumerated types.|
|Launcher||Dormant||A cross platform Java application launcher which eliminates the need for a batch or shell script to launch a Java class.|
|Logging||Proper||A thin, modular bridging API with out-of-the-box support for the most well known logging systems.|
|Math||Proper||Lightweight, self-contained mathematics and statistics components.|
|Modeler||Dormant||Mechanisms to create Model MBeans compatible with JMX specification.|
|Net||Proper||A collection of classes implementing various network protocols such as FTP, NNTP, SMTP, Telnet.|
|Pool||Proper||A generic object pooling interface, a toolkit for creating modular object pools and several general purpose pool implementations.|
|Proxy||Proper||A Java library for dynamic proxying|
|SCXML||Proper||A Java implementation of State Chart XML (SCXML), currently a W3C Working Draft.|
|Transaction||Dormant||Utility classes commonly used in transactional programming|
|Validator||Proper||Components for user input validation|
|VFS||Proper||Extensible framework to acces various filesystems through an unified api with implementations for e.g. sftp, smb, http, zip, ...|
Elsewhere at Apache ...
The following components were part of Apache Commons but have moved elsewhere:
Cactus: Cactus is a simple test framework for unit testing server-side java code (Servlets, EJBs, Tag Libs, Filters, ...). The intent of Cactus is to lower the cost of writing tests for server-side code.
Hivemind: HiveMind is a services and configuration microkernel. HiveMind allows you to create your application using a service oriented architecture.
HttpClient 3.x: Framework for working with the client-side of the HTTP protocol.
Naming: The Naming subproject will contain common JNDI code along with various JNDI providers.