The Apache Commons is a project of the Apache Software Foundation, formerly under the Jakarta Project. The purpose of the Commons is to provide reusable, open sourceJava software. The Commons is composed of three parts: proper, sandbox, and dormant.
Commons Proper
The Commons Proper is dedicated to 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 Apache projects and Apache users.
Commons developers will make an effort to ensure that their components have minimal dependencies on other software 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, as well as other Apache projects, can implement these components without having to worry about changes in the future.[1]
Wrapper around a variety of logging API implementations
1.3.4
2024-08-16
Math
Lightweight, self-contained mathematics and statistics components
4.0-beta1
2022-12-20
Net
Collection of network utilities and protocol implementations
3.11.1
2024-06-07
Numbers
Number types (complex, quaternion, fraction) and utilities (arrays, combinatorics)
1.2
2024-08-12
Pool
Generic object pooling component
2.12.0
2023-09-30
Proxy
Library for creating dynamic proxies
2.0-RC1
2014-04-07
RDF
Common implementation of RDF 1.1 that could be implemented by systems on the JVM
0.5.0
2017-12-08
RNG
Implementions of pseudo-random numbers generators
1.6
2024-07-15
SCXML
Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine
2.0-M1
2014-04-03
Statistics
Utilities for statistical applications
1.1
2024-08-20
Text
Library focused on algorithms working on strings
1.12.0
2024-04-13
Validator
Framework to define validators and validation rules in an XML file
1.8.0
2023-12-02
VFS
Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system
2.9.0
2021-06-16
Weaver
Provides an easy way to enhance (weave) compiled bytecode
2.0
2018-09-07
Commons Sandbox
The Commons Sandbox provides a workspace where Commons contributors collaborate and experiment on projects not included in the Commons Proper. Commons members champion projects in the Sandbox for promotion to the Commons Proper, and groups of developers work to enhance Sandbox projects until they meet the standards for promotion.
Components
Description
BeanUtils2
Redesign of Commons BeanUtils
ClassScan
Find Class interfaces, methods, fields, and annotations without loading
CLI2
Redesign of Commons CLI
Convert
Aims to provide a single library dedicated to the task of converting an object of one type to another
Java library for working with flat data structures
Graph
General purpose Graph APIs and algorithms
I18n
Adds the feature of localized message bundles that consist of one or many localized texts that belong together
Id
Component for generating identifiers
Inject
Implementation of JSR 330, a standards compliant dependency injection framework
Javaflow
Continuation implementation to capture the state of the application
JNet
Allows using dynamically registered URL stream handlers through the java.net API
Monitoring
Aims to provide a simple but extensible monitoring solution for Java applications
Nabla
Provides automatic differentiation classes that can generate derivative of any function implemented in the Java language
OpenPGP
Interface to signing and verifying data using OpenPGP
Performance
Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool
Pipeline
Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects
Commons Dormant
The Commons Dormant is a collection of components that have been declared inactive due to little recent development activity. These components may be used, but must be built yourself. It is best to assume that these components will not be released in the near future.
Components
Description
Attributes
Runtime API to metadata attributes such as doclet tags
Betwixt
Services for mapping JavaBeans to XML documents and vice versa
Cache
Provides object caching services
Clazz
Focuses on introspection and class manipulation
Contract
Component for making features that come along with contract based programming available
Convert
Aims to provide a single library dedicated to the task of converting an object of one type to another
Discovery
Tools for locating resources by mapping service/reference names to resource names
EL
Interpreter for the Expression Language defined by the JSP 2.0 specification
Events
Provides additional classes for firing and handling events. It focuses on the Java Collections Framework, providing decorators to other collections that fire events.
Feedparser
RSS and Atom parser designed to support all major versions of RSS and Atom, as well as easy ad hoc extension and RSS 1.0 modules capability
JJar
Jakarta JAR Archive Repository
Latka
HTTP functional testing suite for automated QA, acceptance and regression testing
Launcher
Cross platform Java application launcher
Mapper
Thin abstraction layer around a project's chosen data mapping technology (a.k.a. DAO pattern)
Messenger
Easy to use and lightweight framework for working with JMS in the web tier
Modeler
Mechanisms to create Model MBeans compatible with JMX specification