Apache Commons
| Company type | Open source software project |
|---|---|
| Industry | Software development |
| Predecessor | Jakarta Project (component) |
| Products | Reusable Java modules and libraries |
| Parent | Apache Software Foundation |
| Website | commons |
The Apache Commons initiative, managed by the Apache Software Foundation, was initially a component of the Jakarta Project. Its primary mission is to provide reusable, open source Java modules. The Commons project is divided into three categories: proper, sandbox, and dormant.
Commons Proper
Commons Proper is dedicated to the creation and upkeep of reusable Java modules. It encourages collaboration within the Apache community to develop common utilities that benefit both Apache projects and their users. Emphasis is placed on minimizing dependencies to ensure straightforward deployment, alongside maintaining stable interfaces for long-term reliability and usability by various projects and end users.
| RNG | Implementations of pseudo-random number generators |1.6 |2024-07-15 |- | SCXML | Implementation of State Chart XML for Java SCXML engine development |2.0-M1 |2014-04-03 |- | Statistics | Utilities tailored for statistical analysis applications |1.1 |2024-08-20 |- | Text | Algorithms specialized in string manipulation |1.13.1 |2025-04-07 |- | Validator | Framework defining validation rules and validators via XML |1.10.0 |2025-07-06 |- | VFS | Virtual File System treating files, FTP, SMB, ZIP uniformly |2.10.0 |2025-02-01 |- | Weaver │ Simplifies bytecode enhancement (weaving) processes │2.0 │2018‐09‐07| Components | Description | Latest version | Released |
|---|---|---|---|
| BCEL | Toolset for analyzing, generating, and modifying Java class files | 6.10.0 | 2024-07-13 |
| BeanUtils | Provides wrappers for Java reflection and introspection APIs | 1.10.1 | 2025-07-30 |
| BSF | Facilitates integration with scripting languages including JSR-223 | 3.1 | 2011-08-17 |
| Chain | Implements the Chain of Responsibility design pattern | 1.2 | 2008-06-01 |
| CLI | Parser for command-line arguments | 1.10.0 | 2025-07-30 |
| Codec | Algorithms for encoding and decoding (phonetic, base64, URL) | 1.19.0 | 2025-07-19 |
| Collections | Enhancements to the Java Collections Framework | 4.5.0 | 2025-04-19 |
| Compress | API supporting TAR, ZIP, and BZIP2 file formats | 1.27.1 | 2024-08-16 |
| Configuration | Handles reading configuration and preferences files in multiple formats | 2.12.0 | 2025-04-22 |
| Crypto | Cryptography library optimized with AES-NI, wrapping OpenSSL or JCE algorithms | 1.2.0 | 2023-01-14 |
| CSV | Utilities for reading and writing CSV files | 1.14.0 | 2025-03-15 |
| Daemon | Generic wrapper to run Java code as a daemon or service on Unix/Windows systems | 1.4.0 | 2024-05-24 |
| DBCP | Services for database connection pooling | 2.13.0 | 2024-11-26 |
| DbUtils | Helper library simplifying JDBC operations | 1.8.1 | 2023-09-09 |
| Digester | Utility mapping XML to Java objects | 3.2 | 2011-12-13 |
| Library facilitating email sending functionality | 1.5 | 2017-08-01 | |
| Exec | API enabling external process execution and environment control | 1.5.0 | 2025-05-16 |
| FileUpload | Support for file uploads within servlets and web applications | 1.6.0 | 2025-06-05 |
| Functor | Provides functional programming constructs representing functions via functors | 1.0 RC1 | 2011-10-20 |
| Geometry | General-purpose library for geometric processing tasks | 1.0 | 2021-08-21 |
| Imaging | Pure Java-based image processing toolkit | 1.0-alpha6 | 2025-04-27 |
| IO | Collection of input/output utility classes and methods | 2.20.0 | 2025-07-13 |
| JCI | Interface for Java compiler integration | 1.1 | 2013-10-14 |
| JCS | Java caching system implementation | 3.2.1 | 2024-05-27 |
| Jelly | XML-driven scripting and processing engine | 1.0.1 | 2017-09-25 |
| JEXL | Expression language extending JSTL's Expression Language | 3.5.0 | 2025-04-11 |
| JXPath | Tools for manipulating JavaBeans with XPath expressions | 1.4.0 | 2025-04-12 |
| Lang | Extends functionality of classes in java.lang | 3.18.0 | 2025-07-06 |
| Logging | Wrapper supporting various logging APIs | 1.3.5 | 2025-01-31 |
| Math | Lightweight components for mathematics and statistics | 4.0-beta1 | 2022-12-20 |
| Net | Utilities and implementations for networking protocols | 3.11.1 | 2024-06-07 |
| Numbers | Number types including complex, quaternion, fraction along with utilities | 1.2 | 2024-08-12 |
| Pool | Generic component for object pooling | 2.12.1 | 2025-01-19 |
| Proxy | Library designed for creating dynamic proxies | 2.0-RC1 | 2014-04-07 |
| RDF | RDF 1.1 implementation targeting JVM environments | 0.5.0 | 2017-12-08 |
Commons Sandbox
The Commons Sandbox serves as a shared environment where contributors collaboratively create and polish projects prior to their promotion to the main Commons repository. Development teams work on Sandbox initiatives to elevate them to the necessary quality benchmarks for progression.
| Components | Description |
|---|---|
| BeanUtils2 | An updated iteration of Commons BeanUtils with improved design |
| ClassScan | Detects class interfaces, methods, fields, and annotations without class loading |
| CLI2 | Reengineered version of Commons CLI |
| Convert | A library focused on converting objects across different types |
| Finder | Java-based tool modeled after the UNIX find command |
| Flatfile | Java library designed for managing flat data structures |
| Graph | APIs and algorithms for general graph processing purposes |
| I18n | Facilitates localized message bundles containing grouped text entries |
| Id | Component responsible for generating identifiers |
| Inject | Dependency injection framework implementation compliant with JSR 330 standards |
| Javaflow | Continuation mechanism capturing the state of applications |
| JNet | Supports dynamic URL stream handlers through the java.net API |
| Monitoring | Lightweight and extensible framework for monitoring Java applications |
| Nabla | Classes enabling automatic differentiation to compute derivatives of Java functions |
| OpenPGP | Interface for signing and verifying data in accordance with OpenPGP protocols |
| Performance | Microbenchmarking framework featuring implementations for Commons DBCP and Pool components |
| Pipeline | Utilities facilitating both parallel and sequential data processing via work queues |
Commons Dormant
The Commons Dormant section contains components that have seen minimal recent activity. While these modules remain usable, they typically require manual compilation and are unlikely to receive updates or official releases in the near future.
| Components | Description |
|---|---|
| Attributes | Runtime API managing metadata attributes such as doclet tags |
| Betwixt | Converts between JavaBeans and XML documents in both directions |
| Cache | Provides object caching capabilities |
| Clazz | Tools dedicated to introspection and manipulation of classes |
| Contract | Enables programming based on contracts |
| Convert | Library handling conversions between object types |
| Discovery | Utilities for locating resources by service or reference names |
| EL | Interpreter implementing the JSP 2.0 Expression Language specification |
| Events | Classes designed for event firing and handling, particularly within Java Collections Framework decorators |
| Feedparser | Parser supporting RSS and Atom formats including major versions and extensions |
| JJar | Repository for Jakarta JAR archives |
| Latka | Functional HTTP testing suite aimed at automated quality assurance and regression tests |
| Launcher | Cross-platform launcher for Java applications |
| Mapper | Lightweight abstraction layer over data mapping technologies following the DAO pattern |
| Messenger | Minimal JMS framework intended for integration within web tiers |
| Modeler | Tools for creating Model MBeans compliant with JMX specifications |
| OGNL | Support for Object-Graph Navigation Language expressions |
| Primitives | Simplified types offering enhanced performance over standard Java primitives |
| Resources | Lightweight framework for internationalized message retrieval based on locale and key |
| Scaffold | Toolkit designed to assist in web application development |
| ThreadPool | Component managing asynchronous multithreaded task execution via thread pools |
| Transaction | Implements multi-level locking, transactional collections, and file access mechanisms |
| Workflow | Framework aimed at constructing workflow management systems |
| XMLIO | High-speed importer for XML configuration or import files |