Apache Commons logo

Welcome to Apache Commons

Apache Commons is an Apache project focused on all aspects of reusable Java components.

The Apache Commons project is composed of three parts:

You may also read our charter, which spells out the goals of the project in greater detail.

The Apache Commons source code repositories are writable for all ASF committers. While Apache Commons is a Commit-Then-Review community, we would consider it polite and helpful for contributors to announce their intentions and plans on the dev mailing list before committing code. All contributors should read our contributing guidelines. We accept patches as SVN diff files uploaded to the Apache bugtracker or as pull request via our github mirrors.

Apache Commons Proper

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.

This article gives an overview of (some of) the components which can be found here.

We welcome participation from all that are interested, at all skill levels. Coding, documentation and testing are all critical parts of the software development process. If you are interested in participating in any of these aspects, please join us!

Component Description Latest Maven Version Release Version Release Date
BCEL Byte Code Engineering Library - analyze, create, and manipulate Java class files 6.10.0 6.10.0 2024-07-23
BeanUtils 1.X Easy-to-use wrappers around the Java reflection and introspection APIs. 1.10.1 1.10.1 2025-02-13
BeanUtils 2.X Easy-to-use wrappers around the Java reflection and introspection APIs. 2.0.0-M1 2.0.0-M1 2025-01-07
BSF Bean Scripting Framework - interface to scripting languages, including JSR-223 3.1 3.1 2010-06-24
CLI Command Line arguments parser. 1.9.0 1.9.0 2024-08-14
Codec General encoding/decoding algorithms (for example phonetic, base64, URL). 1.18.0 1.18.0 2025-01-27
Collections Extends or augments the Java Collections Framework. 4.5.0 4.5.0 2025-04-22
Compress Defines an API for working with tar, zip and bzip2 files. 1.27.1 1.27.1 2024-08-20
Configuration Reading of configuration/preferences files in various formats. 2.12.0 2.12.0 2025-04-28
Crypto A cryptographic library optimized with AES-NI wrapping Openssl or JCE algorithm implementations. 1.2.0 1.2.0 2023-01-23
CSV Component for reading and writing comma separated value files. 1.14.0 1.14.0 2025-03-19
Daemon Alternative invocation mechanism for unix-daemon-like java code. 1.4.1 1.4.1 2025-01-14
DBCP Database connection pooling services. 2.13.0 2.13.0 2024-12-02
DbUtils JDBC helper library. 1.8.1 1.8.1 2023-09-14
Digester XML-to-Java-object mapping utility. 3.2 3.2 2011-12-13
Email Library for sending e-mail from Java. 2.0.0-M1 2.0.0-M1 2024-06-27
Exec API for dealing with external process execution and environment management in Java. 1.4.0 1.4.0 2024-01-05
FileUpload File upload capability for your servlets and web applications. 1.5 1.5 2023-12-27
FileUpload2 File upload capability for your servlets and web applications. 2.0.0-M2 2.0.0-M2 2023-12-28
Geometry Space and coordinates.