Support

Subprojects

Incubating

Ex-Jakarta

Classes to analyze and modify the compiled bytecode (instead of the java source code).

The Byte Code Engineering Library (formerly known as JavaClass) is intended to give users a convenient possibility to analyze, create, and manipulate (binary) Java class files (those ending with .class).

  • Documentation: Online user manual
  • Version: ???

Repository for small scale, reusable, code components that are useful in multiple Jakarta subprojects.

Contains also a "Sandbox": A workspace for more experimental Java component development.

    Components in the Commons Proper:
  • BeanUtils

    Easy to use wrapper around reflection and introspection

    • Documentation: Javadoc
    • Version: 1.2
  • Collections

    Additional collection classes for specal purposes:

    • Special-purpose implementations of Lists and Maps for fast access
    • Adapter classes from Java1-style containers (arrays, enumerations) to Java2-style collections.
    • Methods to test or create typical set-theory properties of collections such as union, intersection, and closure.
    • Documentation: Javadoc
    • Version: 1.0
  • Digester

    Digester provides a higher level, more developer-friendly interface to SAX events, because most of the details of navigating the XML element hierarchy are hidden -- allowing the developer to focus on the processing to be performed.

    Many Jakarta projects read XML configuration files to provide initialization of various Java objects within the system. There are several ways of doing this, and the Digester component was designed to provide a common implementation that can be used in many different projects.

    Basically, the Digester package lets you configure an XML -> Java object mapping module, which triggers certain actions called rules whenever a particular pattern of nested XML elements is recognized. A rich set of predefined rules is available for your use, or you can also create your own.

    • Documentation: Javadoc
    • Version: 1.1.1
  • DBCP: Database Connection Pool Package

    • Documentation: Javadoc
    • Version: 1.5
  • HttpClient

    The Jakarta Commons HttpClient component provides an efficient, up-to-date, and feature-rich package implementing the client side of the most recent HTTP standards and recommendations.

    Designed for extension while providing robust support for the base HTTP and HTTPS protocols, the HttpClient component may be of interest to anyone building HTTP-aware client applications such as web browsers, web service clients, or systems that leverage or extend the HTTP protocol for distributed communication.

  • JXPath

    Manipulating beans using the XPath syntax (?)

    • Documentation: Javadoc
    • Version: 1.3
  • Latka

    Latka is an extensible functional (end-to-end) testing tool. It uses an XML syntax to define a series of HTTP (or HTTPS) requests and a set of validators to verify that the request was processed correctly.

    Latka has a bridge to JUnit, so that tests can be executed and automated via tools such as Ant.

    There is a taglib available as part of the Taglibs project at Jakarta for running Latka tests as part of a web application.

    • Documentation: Overview, Javadoc, User's Guide, Developer's Guide and XML syntax reference
  • Logging

    Simple wrapper API around multiple logging APIs

    The Logging package is an ultra-thin bridge between different logging libraries. Commons components may use the Logging API to remove compile-time and run-time dependencies on any particular logging package, and contributors may write Log implementations for the library of their choice.

      Includes prebuilt support for the following:
    • Log4J from Apache's Jakarta project.
    • JDK Logging API, included in JDK 1.4 or later systems.
    • LogKit from Apache's Jakarta project.
    • NoOpLog implementation that simply swallows all log output, for all named Log isntances
    • SimpleLog implementation that writes all log output, for all named Log instances, to System.out.

    • Documentation: Javadoc
    • Version: 1.0
  • Pool

    Generalized Object Pool Interface (?)

    • Documentation: Javadoc
    • Version: 1.5
  • Validator

    Framework to define input validators in XML (?)

    • Documentation:Javadoc
    • Version: 1.6

Java API to generate markup tags, rather than using println(). It directly supports HTML 4.0 and XML, but can easily be extended to create tags for any markup language. It is now recommended that the Jakarta Velocity project be used instead of ECS.

  • Documentation: Examples and Javadoc
  • Version: 1.4.1

Pure Java desktop application designed to load test functional behavior and measure performance.

Can load and performance test HTTP and FTP servers as well as arbitrary database queries (via JDBC).

Swing support to make a graphical analysis of performance or to test your server, script, object behavior under heavy concurrent load.

  • Documentation: Online user and developers manual
  • Version: 1.7beta

The Jakarta-ORO Java classes are a set of text-processing Java classes that provide Perl5 compatible regular expressions, AWK-like regular expressions, glob expressions, and utility classes for performing substitutions, splits, filtering filenames, etc.

This library is the successor to the OROMatcher, AwkTools, PerlTools, and TextTools libraries from ORO, Inc.

Jakarta ORO package is possibly the more complete regular expression package than Jakarta Regexp.

  • Documentation: Javadoc
  • Version: 2.0.7

APIs for manipulating OLE 2 file formats

Set of APIs for creating, reading, and writing files based upon the OLE 2 Compound Document Format using only Java (no native stuff). OLE 2 Compound Document Format based files include most Microsoft Office files such as XLS and DOC.

  • Documentation: Description and history
  • Version: 1.1-dev

Pure Java Regular Expression package

  • Documentation: Javadoc
  • Version: 1.3-dev

A collection of JavaServer Pages (JSP) custom tag libraries useful in building web applications.

  • Documentation: Descriptions of all subpackages, online tutorial
  • Version:

Validation tests for the Servlet and JavaServer Pages specifications

  • Documentation: Javadoc
  • Version: None

Component-oriented framework and set of components for appliction development.

The main goal of this project is to design a way for different projects to share resources avoiding as much as possible efforts duplication.

Extensive printable book

  • Framework

    The Avalon framework consists of interfaces that define relationships between commonly used application components, best-of-practice pattern enforcements, and several lightweight convenience implementations of the generic components.

    At the core of the Avalon framework is the Component. A Component is defined as a passive entity that performs a specific role, in other words, a Component is acted upon (passive) and takes on a specific role in regards to being configurable, composable, intitializable, disposable, or stoppable.

    Components and interfaces are provided for:

    • Component management and composition
    • Activity and role management (in the above sense)
    • Configuration and parameter management
    • Context management
    • Loggin
    • Threading
    • Exception support

    • Documentation: Overview, UML package and class diagrams
    • Version: 4.1.2
  • LogKit

    LogKit is a logging toolkit designed for secure performance oriented logging in applications.

    • Documentation: Online whitepaper and Javadoc
    • Version: 1.0.1
  • Excalibur

    Collection of ready to use components and utilities

    Also provides a Scratchpad, for components under development

    The status of individual components is not always clear.

      Individual utilities for:
    • Command line parsing
    • Collections
    • Component Utils (?)
    • Thread utils (mutexes, ...)
    • Data Source Mgt (?)
    • I18N
    • IO Utils (File Filters and copying routines on Streams and Readers)
    • LogKit Mgt (define the log categories on a component basis)
    • Resource Monitoring (notification when a resource has changed)
    • Pooling support (?)
    • Property Utils (wildcard-like lookup of key-value pairs)
    • Proxy (?)
    • Documentation: Short descriptions for individual components, Javadoc.
    • Version: 4.1
  • Phoenix

    Minimal Application Server (manages classloader, security and logging needs)

    Purpose somewhat unlear, possibly still starting out.

    • Documentation: Javadoc
    • Version: 4.0a2
  • Cornerstone

    Cornerstone is a set of services for the Phoenix kernel. It contains "blocks" that plug into Phoenix. Example blocks include ConnectionManager, SocketManager, Scheduler etc.

    Seems somewhat immature

    • Documentation: Examples, Javadoc
    • Version: No official release yet
  • Cactus is a simple test framework for unit testing server-side java code (Servlets, EJBs, Tag Libs, Filters, ...).

    It uses JUnit and extends it.

    It focuses on integration unit testing, but also supports code logic and functional unit testing.

    It provides testing for servlets (etc) within the actual servlet container, as opposed to testing them within a testing scaffold.

    • Documentation: Javadoc, Tutorials, HowTos and Sample Application
    • Version: 1.2

    Large-scale text search and indexing engine.

    • Documentation: FAQ, Tutorial, Links to offsite articles, Javadoc
    • Version: 1.02

    Model,View,Controller Framework for server side development.Struts uses a special Servlet as a switchboard to route requests from Web browsers to the appropriate Java ServerPage (JSP).

    Specifically designed for combining Servlets and JSPs, but works well with JDBC, EJB, JNDI, XSL, and Velocity.

    Provides support for mapping of form data to Java Beans.

    Relies on Custom Tags and JSP. Possibly plays better with other J2EE technologies than Turbine. Its relative simplicity makes it easier to retrofit to an existing project than Turbine.

    • Documentation: FAQs, User Guide, Developer Guide and third party resources.
    • Version: 1.0.2

    Servlet based MVC framework. Its sub-projects provide functionality useful outside of a web appliction.

    Its Fulcrum component provides a "services" framework: Singleton objects which may also have an init() and destroy() lifecycle. Many services come prepackaged (cf. entry below for Fulcrum).

    Less concerned with J2EE conformance, more of an alternative!

    News: Last Entry: 08.Mar.02 (status reports for entire project)

  • Turbine
    • Documentation: Overview documents, HowTos, Javadoc.
    • Version: 2.3
  • Fulcrum

    Reusable services framework. Can be used outside of Turbine.

      Individual Services for:
    • Cache
    • Factory
    • Bean population from form input (Intake)
    • JSP
    • Localization
    • Mimetypes
    • Naming (JNDI Wrapper)
    • Object/JDBC Pooling
    • Scheduler
    • Security
    • Templates
    • File uploads
    • Velocity
    • XML-RPC
    • XSLT
    • Documentation: Javadoc, Individual descriptions.
    • Version: 1.0b2
    • News: None
  • Stratum

    Set of existing Turbine code and new utility routines, refactored as components, with the intent to move it into the Commons.

    • Documentation: Javadoc
    • Version: 3.0b2
  • Turbine Developer Kit (TDK)

    The Turbine Development Kit (TDK) is a package that bundles a copy of Turbine, Tomcat, jar files, documentation and other utilities in order to help you get started with Turbine as quickly as possible.

    • Documentation: Tutorial, Javadoc
    • Version: 2.2b1
  • Templating engine: replaces placeholders in document templates with dynamic content at runtime. The content is taken from application classes, which are placed into a VelocityContext at runtime.

    Templates can contain conditional statments and loop constructs for cases when the number of dynamic content entries is not known ahead of time.

    Can be used to generate HTML, but also about anything else (SQL, Java, HTML, XML, Binary, etc).

    • Documentation: Printable user and Developers guide. Comparisons with other projects.
    • Version: 1.3-rc1

    CVS, Javadoc, Source code, Documentation management system, to allow you to browse multiple and remote source repositories Generate Javadoc across multiple java projects.

    • Documentation: Javadoc
    • Version: None

    Portable email server for all common formats.

    Design goals are portability, protocol abstraction, resource abstraction, mail transport and storage in single server.

    • Documentation: Javadoc. Online.
    • Version: 2.0a2

    Information Portal, making data available via the web or a WAP-enabled phone.

    Jetspeed is independent of content type. The actual presentation of the data is handled via XSL and delivered to the user for example via the combination of Java Server Pages (JSPs) and HTML.

    Jetspeed provides support for templating and content publication frameworks such as Cocoon, WebMacro and Velocity.

    Jetspeed is built on top of Turbine.

    • Documentation: Javadoc. Online.
    • Version: 1.3a2

    Official Reference Implementation of the Servlet 2.2 and JSP 1.1

    • Documentation: Javadoc. Online
    • Version: 3.3

    Official Reference Implementation of the Servlet 2.3 and JSP 1.2

    • Documentation: Javadoc. Online
    • Version: 4.0.3

    About Jakarta

    Reference

    Search Jakarta

    Unaffiliated Links

    Unaffiliated Translations