Jump to content

Apache Commons

From Alfawiki
Apache Commons
Company typeOpen source software project
IndustrySoftware development
PredecessorJakarta Project (component)
ProductsReusable Java modules and libraries
ParentApache Software Foundation
Websitecommons.apache.org

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
Email 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

See also

External links