Agitator helps development teams control quality as they write software, instead of finding and fixing bugs at the end of the development process. Agitator is an automated assistant for exercising software code and providing observations about its behavior, helping developers unit-test their code while avoiding the effort of writing tests manually.

Android is a software stack for mobile devices that includes an operating system, middleware, and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.

AndroMDA is an open source code generation framework that follows the model-driven-architecture (MDA) paradigm. It takes a UML model from a CASE-tool and generates classes and deployable components (Java EE or other), specific for your application architecture.

An open source application building and configuration tool designed for Java applications. Unlike 'make', which encourages build scripts to be platform-specific, Apache Ant allows you to specify configuration and dependencies in a portable manner using built-in or external 'tasks' that run applications or system commands for compiling, copying, or executing files.

Apache Axis is an open source implementation of the SOAP and WSDL protocols for building and accessing Web services. In addition to a SOAP engine, it includes a stand-alone server, a servlet-based framework for embedding in servlet containers such as Tomcat, and tools to generate WSDL from Java objects.

An open source toolkit for parsing, disassembling, and generating Java bytecode (.class) files. Allows you to create and edit bytecode via an object-oriented interface. BCEL does the work to convert between the bytecode representation and the in-memory, object-oriented representation.

Apache Beehive is a collection of projects providing framework services for enterprise Java applications. Using Java 5.0 annotations for configuration and declarative programming, Beehive reduces the amount of coding necessary for building enterprise applications. It includes a page flow component for centralizing state, navigation logic, and exception handling, in web applications, and a Web services component for simplifying the development of Web services.

The CXF framework helps you build and develop services using front-end APIs such as JAX-WS. These services can speak a variety of protocols such as SOAP, XML/HTTP, RESTful HTTP, or CORBA and work over a variety of transports such as HTTP, JMS, or JBI.

The Commons is an Apache project focused on all aspects of reusable Java components. It includes both the Commons Proper, a repository of reusable Java components, and the Commons Sandbox, a workspace for Java component development.

Apache Continuum is a continuous integration server for building Java projects. It supports projects that are built and run through Maven, Ant, or shell scripts. Continuum offers tight integration with Maven, multiple version-control systems including Subversion and CVS, simple web-based scheduling, an XML-RPC interface for integration and automation, and notification by email or IM.

This continuous-integration tool supports building via Apache Ant, Apache Maven, and other build tools. By building and compiling software against the latest development versions of those projects, it can identify potentially incompatible changes to software just a few hours after changes are checked into the version control system.

Hadoop is an open source framework for running applications on large clusters of commodity hardware, transparently providing both reliability and data motion. Hadoop implements a computational paradigm named map/reduce, which enables the application to be divided into many small fragments of work, each of which can be executed or reexecuted on any node in the cluster. It also provides a distributed file system that stores data on the compute nodes.

Apache Jackrabbit is a fully conforming implementation of the Content Repository for Java Technology API. A content repository is a hierarchical content store with support for structured and unstructured content, full text search, versioning, transactions, observation, and more.

James (Java Apache Enterprise Mail Server) is an open source mail server that supports POP, SMTP, and NNTP. It can store its mail and other data in any JDBC database and provides a flexible "Mailet" interface for gatewaying to other mail systems, translating mail messages, or filtering messages.

Jakarta Lucene is a powerful, high-performance, full-featured text search engine written entirely in the Java language. It is a technology suitable for nearly any application that requires full-text search, and can be easily and flexibly embedded in any Java application.

Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting, and documentation from a single project model.

Nutch is an open source web-search system, built on the Apache Lucene text-indexing engine. It extends the core Lucene engine to provide web-specific support, such as a crawler, a link-graph database, parsers for HTML, and other document formats.

Open For Business (OFBiz) is an open source enterprise automation software project including an application framework and components that make it easy to create customizable business software based on best practices. OFBiz models typical business processes, such as customers, orders, shipments, payments, and workflows.

Apache OpenJPA is a Java persistence project that can be used as a stand-alone POJO persistence layer or integrated into any Java EE compliant container and many other lightweight frameworks, such as Tomcat and Spring.

ServiceMix is a lightweight, embeddable, open source Enterprise Service Bus (ESB) and SOA toolkit supporting the Java Business Integration (JBI) specification. ServiceMix has integrated Spring support and can be run at the edge of the network (inside a client or server), as a stand-alone ESB provider, or as a service within another ESB.

Solr is a stand-alone enterprise search server with a Web-services like API, built on Apache Lucene. Documents are fed into the system via XML over HTTP and queried via HTTP GET. It provides advanced full-text search, scalable replication, a rich and extensible query language, configurable text analysis, and support for dynamic result grouping and filtering.

Tapestry is a comprehensive component-based web application framework that works with the Servlet API and JDK 1.2 or above. It simplifies web application development by organizing an application into pages of components.

Apache Velocity is an open source templating engine that lets you use a simple yet powerful template language to reference objects defined in Java code. It is written in 100% pure Java and can be easily embedded into your own applications.

Wicket is a Java web-application framework designed for simplicity, separation of concerns, and ease of development. Wicket pages can be mocked up, previewed, and revised using standard WYSIWYG HTML design tools. Dynamic content processing and form handling is handled in Java code using a component model backed by POJO data beans that can be persisted by a variety of persistence technologies.

Apache Wink is a simple framework for building and consuming RESTful Web services. The Wink Server module is a complete implementation of the JAX-RS v1.0 specification, along with additional features designed to facilitate the development of RESTful Web services. The Wink Client module is a Java-based framework for communicating with RESTful Web services.

ASM is a Java bytecode manipulation framework. It can be used to generate stub classes or other proxy classes dynamically, directly in binary form, or to modify classes dynamically at load time. ASM provides similar functionality to toolkits like BCEL and SERP but is designed to be smaller and faster, making it suitable for use in real-time code instrumentation.

AuthenticRoast is open source software that works with the Java Authentication Service Provider Interface for Containers (JSR 196) to enable development of custom authentication modules for use with container-managed, declarative security.

Bamboo extends the concept of a continuous integration server to include build telemetry, which identifies and highlights trends, patterns, and linkages across builds. It can identify the most frequently-failing tests, chart test failure rates over time, and serve as an information repository about previous test failures.

The Apache Jakarta Bean Scripting Framework (BSF) is a set of Java classes that provides scripting-language support within Java applications, and access to Java objects and methods from scripting languages.

BeanShell is a Java-compatible scripting language. BeanShell can interpret ordinary Java source and load .java source files from the class path. BeanShell scripted classes are fully typed and appear to outside Java code and via reflective inspection as ordinary classes. However, their implementation is fully dynamic and they may include arbitrary BeanShell scripts in their bodies, methods, and constructors. Users may freely mix loose, unstructured BeanShell scripts, method closures, and full scripted classes.

The Big Faceless Java Graph library is a class library for creating graphs and charts in the Java language. It can plot 2D or shaded 3D pie charts, line graphs, area and bar graphs from any viewpoint and generate PNG, Flash, PDF, or SVG output.

The Big Faceless Java PDF Library is a Java class library for creating PDF documents. The Extended Edition The Extended Edition includes a PDF reader for importing and editing along with support and verification for digital signatures.

Branch Transformation Toolkit for WebSphere Studio is a set of tools, Java components, and services that accelerate the building of multichannel banking applications that access transactional systems. It also enables Branch Transformation initiatives within retail banking, including the construction of branch applications and teller systems.

Castor is an open source data-binding framework. It supports generation of Java class files from an XML DTD or XML Schema, marshalling and unmarshalling of Java objects via XML, persistence of Java objects in SQL databases via JDO, and mapping of OQL queries to SQL queries.

Checkstyle is a development tool to test Java code for adherence to a coding style. It automates the process of checking Java code, and allows you to customize the style rules it uses. It includes rules for validating commenting conventions, naming conventions, class design issues, class size, code formatting, and coding style.

Chronon is like a DVR for your Java applications. It records every line of code in your program from beginning to end and saves the recording to a file that can be transferred across machines and shared among team members. If you have the Chronon Recording file, you can play back the entire execution of the Java program on your desktop and find the root cause of any issue instantly. A 30-day trial version is available for free download.

ckjm calculates Chidamber and Kemerer object-oriented metrics by processing the bytecode of compiled Java files. The program calculates six metrics for each class and displays them on its standard output.

Clover is a code-coverage tool that measures the effectiveness of testing and identifies sections of code that tests are not adequately exercising. Clover can be used to find dead code, track "coverage goals," and identify when the testing effort is not keeping up with development. It has plug-ins for many IDEs, integration with Apache Ant and Maven, and can generate reports in multiple formats.

Cobertura calculates the percentage of code accessed by tests. It can be used to identify which parts of your Java program are lacking test coverage. It can also report on branch coverage and calculate cyclometric complexity.

CruiseControl is a framework for automating continuous builds and integration. It can monitor your version-control repository, fetch and build your project when the code changes, run the unit tests, and inform you of the results. It includes plug-ins for email notification, Ant, and various source control tools. A web interface is provided for viewing the details of the current and previous builds.

DashO is a tool for packaging and obfuscating Java applications and class libraries. It reduces the size of Java class files, and obfuscates constant pool information to make it harder for users to reverse-engineer your classes.

DataVision is an open source reporting tool. Reports can be designed using a drag-and-drop GUI and can be run, viewed, and printed from the application or exported as HTML, XML, PDF, LaTeX2e, DocBook, or tab- or comma-delimited text files, which can in turn be used to produce reports in PDF, text, HTML, or PostScript.

Programs that modify a database are difficult to regression test. The DbUnit database testing framework is a JUnit extension that sets up your database in a known state before executing your tests, and confirms that the database is in the required state after the test is executed. This enables regression testing of the database side-effects of your classes.

DWR is an open source Java library for writing Ajax web sites. By dynamically generating Javascript based on Java classes, it allows code in a browser to use Java functions running on a web server just as if it were in the browser.

Drone is a Java IRC bot built on the RIFE framework. Drone has a modular API that makes it possible to extend and customize the active feature set easily, as well as a a web administration interface to handle common tasks. Packaged as a WAR, it can be installed by simply dropping it into your servlet container.

Drools is an open source rules-engine implementation based on the Rete algorithm. Drools is designed to allow pluggable rules language implementations. Rules can be written in the Java language, Python, and Groovy.

Eclipse is an open source, extensible IDE platform for developing and debugging applications, entirely written in the Java language. Eclipse is designed to be a unified environment for development, including testing, performance tuning, and debugging in multiple programming languages.

The Eclipse Data Tools Platform (DTP) includes extensible frameworks and exemplary tools, enabling a diverse set of plug-in offerings specific to particular data-centric technologies and supported by the DTP ecosystem.

The STP project builds frameworks and exemplary extensible tools that enable the design, configuration, assembly, deployment, monitoring, and management of software designed around a Service Oriented Architecture (SOA).

The TPTP Project provides an open platform supplying frameworks and services that allow software developers to build unique test and performance tools, both open source and commercial, that can be easily integrated with the platform and with other tools.