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).
|Utilities for manipulating java beans, including copying properties, cloning, invoking methods and type conversion.
|Services for mapping JavaBeans to XML documents, and vice versa.
|A "Chain of Responsibility" pattern implemention for organizing complex processing flows.
|Command Line Interface library for processing command-line options and arguments.
|General encoding/decoding algorithms. Includes some phonetic encoders, Hex, Base64, and a URL encoder.
|Builds upon the Java Collections Framework of List, Set and Map to provide many more implementations, new collections and abstract base classes.
|Tools to assist in the reading of configuration/preferences files in various formats
|Defines an API for working with archives and compression formats including but not limited to: tar,gz, ar, cpio, zip and bzip2 files
|Run (java) applications as windows service or UNIX daemon.
|Database connection pooling services.
|XML-to-Java-object mapping utility.
|Simplify email sending with Java. Built on top of the Java Mail API.
|A Java library to execute external processes from within a Java application.
|Makes it easy to add robust, high-performance, file upload capability to your servlets and web applications
|A functor is a function that can be manipulated as an object, or an object representing a single, generic function.
|Utility classes, stream implementations, file filters and endian classes to assist in input/output operations.
|Java Compiler Interface
|Java Caching System
|A velocity-esque expression interpreter
|An XML-based scripting language.
|Facilities for applying xpath expressions to graphs of objects of all kinds: Java beans, Maps, Servlet contexts, DOM etc.
|Common utilities that should be provided by the JDK, including String handling, Object and Date helpers, nested exceptions and enumerated types.
|A cross platform Java application launcher which eliminates the need for a batch or shell script to launch a Java class.
|A thin, modular bridging API with out-of-the-box support for the most well known logging systems.
|Lightweight, self-contained mathematics and statistics components.
|Mechanisms to create Model MBeans compatible with JMX specification.
|A collection of classes implementing various network protocols such as FTP, NNTP, SMTP, Telnet.
|A generic object pooling interface, a toolkit for creating modular object pools and several general purpose pool implementations.
|A Java library for dynamic proxying
|A Java implementation of State Chart XML (SCXML), currently a W3C Working Draft.
|Utility classes commonly used in transactional programming
|Components for user input validation
|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.