ProGuard is a free Java class file shrinker, optimizer, and
obfuscator. It can detect and remove unused classes, fields,
methods, and attributes. It can then optimize bytecode and
remove unused instructions. Finally, it can rename the
remaining classes, fields, and methods using short
meaningless names. The resulting jars are smaller and harder
A suite of classes that extend or augment the Java Collections Framework.
There are certain holes left unfilled by Sun's implementations, and the
Jakarta-Commons Collections Component strives to fulfill them. Among the
features of this package are:
Special-purpose implementations of Lists and Maps for fast access Adapter
classes from Java1-style containers (arrays, enumerations) to Java 2-style
collections. Methods to test or create typical set-theory properties of
collections such as union, intersection, and closure.
JDOM is a Java library for accessing and manipulating XML documents.
It has a straightforward API, is a lightweight and fast, and is
optimized for the Java programmer. It's an alternative to DOM and
SAX, although it integrates well with both DOM and SAX.
JFlex is a lexical analyzer generator for Java written in Java.
It is also a rewrite of the very useful tool JLex which was developed
by Elliot Berk at Princeton University. As Vern Paxon states for his C/C++
tool flex: They do not share any code though.
JXGrabKey is a jni library for easy use of global X11 hotkeys on
The Bouncy Castle Crypto APIs consist of the following:
. A lightweight cryptography API in Java.
. A provider for the JCE and JCA.
. A clean room implementation of the JCE 1.2.1.
. A library for reading and writing encoded ASN.1 objects.
. Generators for Version 1 and Version 3 X.509 certificates, Version 2 CRLs,
and PKCS12 files.
. Generators for Version 2 X.509 attribute certificates.
. Generators/Processors for S/MIME and CMS (PKCS7).
. Generators/Processors for OCSP (RFC 2560).
. Generators/Processors for TSP (RFC 3161).
. Generators/Processors for OpenPGP (RFC 2440).
. A signed jar version suitable for JDK 1.4/1.5 and the Sun JCE.
It's distributed under a modified X license.
The Discovery Component is about discovering, or finding, implementations for
pluggable interfaces. It provides facilities instantiating classes in general,
and for lifecycle management of singleton (factory) classes.
Fundamentally, Discovery locates classes that implement a given Java interface.
The discovery pattern, though not necessarily this package, is used in many
projects including JAXP (SaxParserFactory and others) and commons-logging
(LogFactory). By extracting this pattern, other projects can (re)use it and
take advantage of improvements to the pattern as Discovery evolves.
Discovery improves over previous implementations by establishing facilities for
working within managed environments. These allow configuration and property
overrides without appealing to the global System properties (which are scoped
across an entire JVM).
WindowBuilder is a powerful and easy to use bi-directional
Java GUI designer that makes it very easy to create Java GUI
applications without spending a lot of time writing code to
display simple forms. With WindowBuilder you can create
complicated windows in minutes. Use the visual designer and
Java code will be generated for you. You can easily add controls
using drag-and-drop, add event handlers to your controls, change
various properties of controls using a property editor,
internationalize your app and much more.
mmake is a small and effective script that will create a Makefile for Your
Java files, ready to compile.
The Makefile generated with mmake supports:
- Clean up
- Jar file
Jython is an implementation of the high-level, dynamic,
object-oriented language Python seamlessly integrated
with the Java platform. The predecessor to Jython,
JPython, is certified as 100% Pure Java. Jython is
freely available for both commercial and non-commercial
use and is distributed with source code.