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.

Welcome: CommonsEtiquette | CommonsResources | ArticlesAndTutorials

Developers: GettingInvolved | UsingSVN | UsingGIT | CodeStyle | MovingToGit | UseClirrWithShade

Committers: CommonsPeople | ComponentPlans | CommonsCommitters | CommonsOsgi | UsingNexus | CommonsGroupids | Maven3Plan

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).

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

  • No labels