Home - Apache Commons - Apache Software Foundation (original) (raw)

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

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

Name Status Description
BeanUtils Proper Utilities for manipulating java beans, including copying properties, cloning, invoking methods and type conversion.
Betwixt Dormant Services for mapping JavaBeans to XML documents, and vice versa.
Chain Proper A "Chain of Responsibility" pattern implemention for organizing complex processing flows.
CLI Proper Command Line Interface library for processing command-line options and arguments.
Codec Proper General encoding/decoding algorithms. Includes some phonetic encoders, Hex, Base64, and a URL encoder.
Collections Proper Builds upon the Java Collections Framework of List, Set and Map to provide many more implementations, new collections and abstract base classes.
Configuration Proper Tools to assist in the reading of configuration/preferences files in various formats
Compress Proper Defines an API for working with archives and compression formats including but not limited to: tar,gz, ar, cpio, zip and bzip2 files
Daemon Proper Run (java) applications as windows service or UNIX daemon.
DBCP Proper Database connection pooling services.
Digester Proper XML-to-Java-object mapping utility.
Email Proper Simplify email sending with Java. Built on top of the Java Mail API.
Exec Proper A Java library to execute external processes from within a Java application.
FileUpload Proper Makes it easy to add robust, high-performance, file upload capability to your servlets and web applications
Functor Proper A functor is a function that can be manipulated as an object, or an object representing a single, generic function.
IO Proper Utility classes, stream implementations, file filters and endian classes to assist in input/output operations.
JCI Proper Java Compiler Interface
JCS Proper Java Caching System
JEXL Proper A velocity-esque expression interpreter
Jelly Proper An XML-based scripting language.
JXPath Proper Facilities for applying xpath expressions to graphs of objects of all kinds: Java beans, Maps, Servlet contexts, DOM etc.
Lang Proper Common utilities that should be provided by the JDK, including String handling, Object and Date helpers, nested exceptions and enumerated types.
Launcher Dormant A cross platform Java application launcher which eliminates the need for a batch or shell script to launch a Java class.
Logging Proper A thin, modular bridging API with out-of-the-box support for the most well known logging systems.
Math Proper Lightweight, self-contained mathematics and statistics components.
Modeler Dormant Mechanisms to create Model MBeans compatible with JMX specification.
Net Proper A collection of classes implementing various network protocols such as FTP, NNTP, SMTP, Telnet.
Pool Proper A generic object pooling interface, a toolkit for creating modular object pools and several general purpose pool implementations.
Proxy Proper A Java library for dynamic proxying
SCXML Proper A Java implementation of State Chart XML (SCXML), currently a W3C Working Draft.
Transaction Dormant Utility classes commonly used in transactional programming
Validator Proper Components for user input validation
VFS Proper Extensible framework to access 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.