Links:
Abbot a tool for testing Java GUI components and programs (includes a junit extension). Acceleo Acceleo is a code generator designed to efficiently implement the MDA approach and to improve software development productivity. It is natively integrated with Eclipse and EMF. It includes tools and editors making it easy to learn and to adapt to any kind of project or technology. It provides incremental generation, meta-model interoperability, a tree-like syntax, template driven customisation, and more. actiWATE actiWATE (Actimind Web Application Testing Environment) is a software platform intended to make the test automation process simple and cost-effective. The major component of actiWATE is a Java-based framework that emulates Internet browser functionality and provides a convenient and intuitive action-based API for test script development. AgileTrack AgileTrack is an open-source based application for tracking software development in agile development or extreme programming (XP) teams. It includes support for managing stories and other issues, sub-tasks, tracking time, managing multiple projects, planning iterations, and providing iteration reports. It provides a unique interface that is simple to use and allows software developers to have task information always at their fingertips. Alvicom LoadManager Alvicom LoadManager is a test tool that focuses on load, stress, stability, and performance criteria. The tool runs on all platforms supported by Eclipse and Java. Supported protocols are HTTP, HTTPS, socket (TCP/IP), JMS, and RMI. Result data is collected in a central repository. This data can be exported/manipulated quickly, easily, and usefully. Thousands of virtual users (data units) can be simulated and tested. Color-coding shows which users pass or fail, and a script-link is provided. Ant a Java based build tool. In theory it is kind of like make without make's wrinkles Ant SVK Task The aim of Ant SVK Task is to create functional support for the SVK SCM tool within Ant build files. Ant XInclude task allows Ant build files to apply XInclude processing to XML files. It is based on the XInclude processor developed by Elliotte Rusty Harold ant4eclipse The aim of the Ant4eclipse project is to avoid redundancy of Eclipse and Ant configurations in order to build small but powerful build systems for the continuous integration process. It provides a set of tasks for the Apache Ant build tool. This tasks allow developers to use Eclipse configuration directly from their ant buildfiles. Included are tasks for reading Eclipse's .classpath file, for computing build order for a set of projects, and for launching Java applications as defined in Eclipse launch configurations. Antiplate Antiplate is an Ant script that creates a common project structure for Java projects. It creates directories, property files, and a build script with common settings and targets. Antmod Antmod is a build management, release management, and repository management tool. Its implementation is an Ant-based extensible engine for retrieving, versioning, building, and deploying code to and from Subversion or CVS. It standardizes build files for Java projects and provides build plugins for various tasks. It also standardizes tagging and branching for both CVS and Subversion, and its module and repository management can also be used for non-Java projects. It greatly speeds up Java software development, promotes reuse of Java software, and standardizes the build-test- release cycle. Apache Ant a Java-based build tool. In theory, it is kind of like Make, but without Make's wrinkles APIviz APIviz is a JavaDoc doclet which extends the Java standard doclet. It generates comprehensive UML-like class and package diagrams for quick understanding of the overall API structure. AurigaDoc a java-xml based documentation engine used for writing documents in xml format Axualize a tool for creating applications by actualizing java objects using XML. Axualize is based on JSR-57, and is intended to allow developers to create Java applications dynamically using XML Barter a tool for increasing the quality of applications written in Java. It allows the programmer to use design by contract and define other development aspects right in the classes and interfaces where they are relevant, as JavaDoc comments Batik a Java based toolkit for applications that want to use images in the Scalable Vector Graphics (SVG) format for various purposes, such as viewing, generation or manipulation Beanlet Beanlet is an IoC container that was inspired by EJB3 and Spring. Beanlet's programming model looks similar to that of EJB3, but offers much of the flexibility of Spring. BeanShell small, free, embeddable, Java source interpreter with object scripting language features, written in Java. BeanShell executes standard Java statements and expressions, in addition to obvious scripting commands and syntax. BeanShell supports scripted objects as simple method closures like those in Perl and JavaScript benerator benerator is a framework for creating realistic and valid high-volume test data, used for testing (unit/integration/load) and showcase setup. Metadata constraints are imported from systems and/or configuration files. Data can imported from and exported to files and systems, anonymized, or generated from scratch. BitEvolution BitEvolution is a easy to use client & server application, written entirely in Java, that you can use to keep your distributed application up to date. Modeled after the Apache ANT project, it is a tasked based application intended to eliminate the work required to write, test and debug a home grown update application Blitz JavaSpaces an open source JavaSpaces implementation designed to ease development and deployment of JavaSpaces technology. It is Jini 2.0 enabled, and uses established VM principles Bloof calculates software evolution metrics against a version control like CVS in order to retrieve information about the evolution of the source code and the development process. Bloof is implemented in Java and comes with integrated database and Swing GUI Bouvard a Javadoc tool extension Bridge2Java a tool that allows Java programs to communicate with ActiveX objects. It allows easy integration of ActiveX objects into a Java Environment Butterfly Container Butterfly Container is a Java dependency injection container. It is smaller, yet more flexible and easier to use than Spring, Pico, and Guice. Instead of XML, Butterfly Container is configured using a simple, flexible, Java-like configuration language. There are no external dependencies. Butterfly Testing Tools Butterfly Testing Tools is a stub, mock, and proxy object testing API for Java unit testing. It is similar to software such as EasyMock and JMock. cache4j cache4j is a cache for Java objects with a simple API and fast implementation. It features in-memory caching, a design for a multi-threaded environment, both synchronized and blocking implementations, a choice of eviction algorithms (LFU, LRU, FIFO), and the choice of either hard or soft references for object storage. Cafesterol Cafesterol is an extension of the Objective Caml compiler suite: it compiles OCaml sources into Java .class files. CaseRePort CaseRePort is a tool to find filename case inconsistencies in the source tree. It may be useful for porting applications in any programming language from a case-insensitive (like Windows) to a case-sensitive (like Linux) run-time environments. ccdoc a free javadoc inspired tool that automatically generates HTML web documentation from C++ programs by parsing the source file headers. It was designed to aid collaboration between package users and package developers by documenting the interface Celtix Milestone Celtix delivers a Java enterprise service bus (ESB) runtime and set of extensibility APIs, simplifying the construction, integration and flexible reuse of technical and business components using a standards-based, service-oriented architecture. Checkstyle a development tool to help programmers write Java code that adheres to a coding standard. Its purpose is to automate the process of checking Java code ClassCracker (commercial) a Java decompiler that retrieves Java source code from Java class files; a Java disassembler that produces JVM (Java Virtual Machine) bytecode and a Java class file viewer that displays Java class file structures Classycle Classycle's Analyser analyses the static class and package dependencies in Java applications or libraries. It is especially helpful for finding cyclic dependencies between classes or packages. Classycle is similar to JDepend which does also a dependency analysis but only on the package level. Cobertura Cobertura is a free Java tool that 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 is based on jcoverage. codavaj codavaj is Javadoc in reverse: a seemingly useless reverse engineering tool to transform HTML Javadoc into Java source file skeletons (or a reflection API) like internal representation. CodeCover CodeCover is an extensible code coverage tool. It has support for Java and COBOL, supports statement coverage, branch coverage, loop coverage, and MC/DC, and performs source instrumentation for the most accurate coverage measurement. It has a CLI interface for easy use from the command line, an Ant interface for easy integration into an existing build process, and is fully integrated into Eclipse. It has customizable HTML and CSV reports, per test case coverage measurement, full integration with JUnit for automatic recognition of test cases, live notification for manual test case recognition, a boolean analyzer that helps to find test cases to increase strict condition coverage, and a correlation matrix to find redundant test cases and optimize your test suite. CodgenClipse CodeGenClipse adds Eclipse IDE support for code generation tools. It currently includes CodeGenJostraca, which integrates the Jostraca code generator into Eclipse 3.1.2 or later. ConceptualTesting ConTest is a tool that can be used to expose and eliminate concurrency-related bugs in parallel and distributed Java programs. It systematically and transparently schedules the execution of program threads such that program scenarios that are likely to contain race conditions, deadlocks, and other intermittent bugs (collectively called synchronization problems) are forced to appear with high frequency. Because bugs are found earlier in the testing process, the project dramatically improves the quality of testing and reduces development expense. Condenser a tool for finding and removing duplicated Java code. Unlike tools that only locate duplicated code, the aim of Condenser is to also automatically remove duplicated code where it is safe to do so ControlTier ControlTier is a complete system for automating the release, deployment, and configuration of multi-tier application services. It enables you to specify a configuration and procedural model for an integrated application stack (e.g. a LAMP stack), and then use that model to deploy, configure, and control that stack as one logical entity in any environment. It is built to leverage your existing scripts and configuration templates. It includes remote execution and logical command dispatching, automation, versioning and full rollback capabilities, logging and reporting, fine grained access controls, change detection and configuration validation, application status discovery, log monitors to catch startup exceptions, and GUI and command line tools. CsvTool (shareware) CsvTool analyzes, verifies, and transforms CSV data. It handles text and binary files and allows any 8-bit character to be used for field and record delimiters and quotes. Both backslash and doubled-quote escape rules are supported. Any size fields, any size records, and any number of fields per record are allowed. It optionally exports input data in a CSV format into a different output format. CurlyML CurlyML is a simple, concise format for storing and transmitting structured data and documents. CurlyML allows you describe structured data in a way that is efficiently, easily readable and writeable to both human beings and machines, with no extraneous fuss or redundant markup. Essentially, CurlyML is designed to get out of your way so you can get on with describing your data. This is in direct contrast with XML, which is overkill for many tasks. CVSGrab CVSGrab is another kind of CVS client. When other CVS clients use the cvs protocol or ssh to read the repository, this utility reads the repository via its ViewCVS web interface. The advantage is that if you are behind a firewall that prevents you from updating files from a remote CVS server, this program will be able to bypass the firewall and download the latest files from the repository. CyberNeko Pull Parser an XML document parsing API that extends the Xerces Native Interface (XNI) to provide pull parsing functionality CyberNeko RelaxNG Validator ManekiNeko is a parser configuration that allows users to validate documents using Relax NG grammars and access the document information using standard programming interfaces. Cyparkler Cyparkler (pronounced sparkler) is a factory for SPARQL and SeRQL for Java. It provides objects and functions for quickly building and processing result sets for SPARQL and is useful for anyone needing to build lots of SPARQL queries in their application. CyVis CyVis is a software metrics collection, analysis, and visualization tool for software built using Java. It enables developers to identify complex parts of their software very easily. It collects data from Java class or jar files, so there is no need for the source code. Once the metrics are collected, the statistical information is shown in a way that enables you to immediately detect which part of your software is complicated and which is not. CyVis can either be integrated with your Ant script or used with a command interface to generate reports. It also has a GUI interface. DashO Pro DashO Pro is a Java application obfuscator, optimizer, and size reducer. It performs a dependency analysis on the application, finding all necessary classes. It removes all unused methods and fields, producing significant size reduction. Classes and methods can be renamed using the unique Overload-induction renaming algorithm. Byte code optimization, control flow obfuscation, and string encryption can also be selectively applied. It also includes tools for watermarking jars and decoding obfuscated stack traces. DashO-Pro (commercial) a Java application size reducer, optimizer, and obfuscator. It performs a static dependency analysis on the target application, finding all necessary classes. From there it removes all unused methods and fields, producing significant size reduction Database Bean Generator An command line application that has the goal to make easy the construction of little applications that needs some database objects stuff. DEMOS DEMOS is a modeling tool for the EP model. The EP model proposes a declarative executable model for engineering object-based systems which achieves executability through a hybrid approach that annotates model elements with Java code snippets. It is implemented as an Eclipse plugin and provides graphical editing of applications using the EP model, background code generation, and immediate feedback on syntactical validity of models and user-supplied code. Dependency Analyzer Dependency Analyzer is a utility for graphically visualizing Maven2 artifact dependency graphs. It is using Maven embedder for resolving dependencies, and based the Java Universal Network/Graph Framework (Jung) for creating and visualizing the dependency graph. The Spring rich client is used for building the GUI. Dependent Object Framework The Dependent Object Framework enables efficient JUnit testing and test driven development against code that depends on objects that are persisted (e.g., to a database). This code was originally developed to add JUnit tests that used the real database code rather than trying to mock out all the dependencies in a large commercial enterprise product, IBM's WebSphere Product Center. The framework makes it extremely easy to simply specify what database objects a test "requires". Designer for Jasper a visual report designer for the Jasper Report writer Deskzilla Deskzilla is an offline desktop client for the Bugzilla bug tracking system. It features caching of Bugzilla bugs, offline bug submission and modification with later synchronization, a unique search interface, and an issue breakdown structure with nested queries. DICOM ImageIO SPI a quick and dirty but easy to use DICOM image reader implemented in Java. This will allow you to open a DICOM image as BufferedImage using the ImageIO framework provided with Java 1.4 DocBook Doclet creates DocBook code from Java source documentation. It is helpful, if you want to print reference handbooks of your API. The program can be used as javadoc doclet or as standalone application. The standalone application can be used as a converter to transform HTML documents to DocBook documents. Additionally DocBookDoclet comes with a Swing application called dbdoclet.TidBit, which helps you to manage your documentation projects and to create PDF files Domino Javadoc Generator This project aims to create a documentation to the Lotus Notes API for Java in a standard format common in the Java comunity and accepted by the most IDEs for Java. The Lotus Notes API is delivered as a Java archive together with the original documentation in the native format of a Domino database with the IBM Domino Designer. The documentation can be read only in the Lotus Notes. Java-oriented tools cannot use it to display a description of a Java class, to browse classes and their methods or to offer an automatic code insertion based on a Java object and its class. Domino/JBoss SSO allows you to create a mixed J2EE/ Domino Web site that is seamless to your users. Users will only have to log in once, whether they are in a Lotus Domino Web application or a J2EE application DomSax omSax is an implementation of a XML-parser based on the standard Document Object Model principle (and sun's implementation), combining it with the flexibility and possibility of low memory consumption of the SAX-parser (also sun's implementation). Dozer Dozer is a powerful, yet simple Java Bean to Java Bean mapper that recursively copies data from one object to another. Typically, these Java Beans will be of different complex types. DTDDoc to help you to document your DTD's efficiently. It is a straightforward extension of the javadoc concept dtoGen a java source generation tool that can ease the development of multi-tier systems by offering a reliable solution to obtain the data transfer objects out of the domain model objects without hand-writting additional code Easy Struts for Eclipse & JBuilder o provide a bunch of tools, inside popular IDE as Eclipse v2.0, Borland JBuilder 5-6, in order to facilitate the developement of a web project based on Jakarta Struts framework EasyBeans EasyBeans is an implementation of an EJB3 container. It aims to provide an implementation for the full EJBCore API. For the persistence matter, it relies on Hibernate EJB 3 or, in upcoming versions, on Speedo, the ObjectWeb's JDO implementation. Eclipse plugin eva/3 (commercial) a development tool for efficient and professional implementation of software applications. This RAD (Rapid Application Development) tool is implemented on top of XML and is integrated into the eclipse development environment as a plug-in Eclipse Tools Project provides a focal point for diverse tool builders to ensure the creation of best of breed tools for the Eclipse Platform. The mission of Eclipse Tools Project is to foster the creation of a wide variety of tools for the Eclipse Platform EclipseDarcs This project develops an integration of the version control system Darcs into the Eclipse IDE. It provides a set of plugins that enable IDE users to manage the code under development in Darcs repositories. Ejen a text generation system ("text" means, including, but not limited to, source code in any kind of programming language). It makes use of Java/XML/XSLT technologies and is implemented for now as an Ant task Ekit a free open source Java HTML editor applet and application. The Ekit standalone also allows for HTML to be loaded and saved, as well as serialized and saved as an RTF ElegantJ Tables Bean The ElegantJ Tables Bean provides table support for everything from a 4x10 row-column table to a table to represent a database or a spreadsheet solution. The two components, AWT Table and JFC Table, can handle any volume of data. Each cell can be edited as the type textbox, textarea, checkbox, combobox, button, icon, or boolean. ElegantJ Trees Bean The ElegantJ Trees Bean provides information management for hierarchical representation of data with minimum space consumption. It includes an in-built search panel and sort functionality. ElixirCASE (commercial) a Java-Centric OO CASE Tool for UML euCatalogue euCatalogue is a catalogue framework to help you build a generic catalogue structure. Along with euCatalogue there is an "admin web interface" to help with constructing the catalogue and a "user web interface" which allows browsing the catalogue. Extend For JavaScript Extend allows you to use traditional single-class inheritance in your JavaScript applications. It also gives you many advanced features such as runtime class modification, introspection and change. eXtendible Java Rendering Toolkit eXtendible Java Rendering Toolkit is an open source Java renderer with a ray tracing backend. Objects can be fed into the renderer either through Java or an XML-based scene description language. FAQGen FAQGen is a Java commandline tool that generates an HTML FAQ page. The FAQ question/answer pairs are grouped into sections and stored in a XML file. The XML file is processed, then passed into a template to generate the output page. FastJar an attempt to create a much faster replacement for Sun's 'jar' utility. Instead of being written in Java, FastJar is written in C FITpro for Eclipse FITpro for Eclipse will allow easier creation of FIT tests and fixtures, more flexible test execution, and refactoring of tests and fixtures. This will result in improved productivity, reduced rework, and improved usability of Fit. FMPP a general-purpose text file preprocessor tool that uses FreeMarker templates. It is particularly designed for HTML preprocessor, to generate complete (static) homepages: directory structure that contains HTML-s, image files formatjava for Eclipse when you want to format multiple Java source in Eclipse the only way is to open each and every file, right click in the editor window, select the "Format" option, and save the formatted file. This plugin allows you to select one or more packages in the Java Package Explorer and format all .java files in those packages Free Htmltemplate a high-performance HTML templating engine for Java, based on the syntax of HTML::Template Perl module. It aims for simple and natural separation of HTML and Java FreeMarker provides an easy way to get data from Java servlets into Web pages, and helps you keep graphic design separate from application logic Furies a web site testing tool that uses HttpClient to download web site resource. Each web site resource can be then tested against one of the pre-packaged tests from Furies or you can easily write your own GCViewer a tool to visualize the data produced by the Java VM options -verbose:gc and -Xloggc: Gengetopt Eclipse Gengetopt Eclipse is an Eclipse plugin that provides an editor for GNU Gengetopt input files. GetOpt Generator Java GetOpt Generator is a tool that generates a command-line argument parser from an XML file. Both a "parser" and "config" class are generated, which allows your program to either be launched from the command-line or programmatically configured and executed from another Java application. GJDoc GJDoc is the GNU documentation generation framework for Java source files. gnu.regexp gnu.regexp is a pure-Java implementation of a traditional (non-POSIX) NFA regular expression engine. Its syntax can emulate many popular development tools, including awk, sed, emacs, perl and grep. Gnumler Gnumler is a "mapping framework". In its current incarnation, it's able to generate Hibernate mapping using a GUI. It can load XMI data from Umbrello, reverse engineer existing databases, or load an SQL DDL file. It can generate standard mappings from an UML or DbLogic (sort of logical view) diagram. Support for many ORM frameworks will be included. GPalta GPalta is a genetic programming toolbox that aims for simplicity and speed. It features tree-based genetic programming, optional strong typing, a multithreaded GUI to control an evolution process, the ability to save evolutions to a file, to be continued at another time and place, and easy interoperability with Matlab. Grand a tool to create visual representation of ant target dependencies. It works by taking a ant build file and creating a "dot" file. This file need to be post-processed with Graphviz to produce the actual graph Grester The Maven-Grester plugin is a Maven2 plugin for Jester, the JUnit tester tool. It enables Jester to be executed at any valid Maven lifecycle phase in a Maven Project. It saves developers from constructing cumbersome Java classpath entries on the commandline every time they need Jester to run against JUnit Tests in the project. It can also help to dispense with a suite of scripts that may have been written to handle complex Java classpath executions for Maven projects. GUIdancer GUIdancer is a powerful new Eclipse-based tool for the automated testing of Graphical User Interfaces (GUI's), with a focus on programs written with Java and Swing. Guru for SELF a tool which assists in Self improvement Hammer JSX, simplified, rewritten and refactored. Deserialization is faster, using SAX2 via JAXP1.1 HelpSetMaker allows creation and maintenance of online help documents. It is especially tailored to the needs of the JavaHelp online help system for Java programs Hibernate a powerful, high performance object/relational persistence and query mechanism for Java. Hibernate lets you develop persistent objects following common Java idiom, including association, inheritence, polymorphism, composition and the Java collections framework hoglet Hoglet allows special markup to be added to text documents so that software documentation can be easily produced. HTMLjar a simple tool to let you construct HTML codes easily in Java Indus Indus is a collection of program analyzers and transformations implemented for customizing and adapting Java programs. It is intended to serve as an umbrella for static analyses such as points-to analysis, escape analysis, and dependence analyses, transformations such as program slicing and program specialization via partial evaluation, and software modules that delivers the analyses and transformations into a particular application such as Bandera or platforms such as Eclipse. iReport iReport is a popular open source visual report designer for JasperReports. iReports simplifies the process of accessing data sources, defining and designing the report layout, and compiling reports. iReport is a pure Java tool that allows users to visually edit complex reports with charts, images, sub-reports, and much, much more. It supports all the features of JasperReports and all JasperReports data sources. iReport Designer for JasperReports iReport is a visual reporting tool based on JasperReports and written in pure Java. You can manage charts, images, sub-reports, etc. Data can be retrieved using JDBC, TableModels, JavaBeans, and XML. It supports output in PDF, XML, XSL, CSV, HTML, and Java2D. IronEye Cache IronEye Cache offers an easy-to-use, easy-to-integrate JDBC-level caching solution. This Point-and-Cache framework is ideal for caching read-only or infrequently changing data. Determine optimal performance by testing the effects of caching with code-free integration. Ivy Ivy is a free java based dependency manager, with powerful features such as transitive dependencies, ant integration, maven repository compatibility, continuous integration, html reports and many more. IWG a tool for generating wrapper classes for interfaces IzPack a Java installation software that you can use to distribute you own applications in singles Jar files that can be executed on any Java capable system Jacket Jacket is an intentionally simple Java SOAP client that allows you to you to prepare a request and process the results using StAX. Jacobe a free configurable code beautifier for the Java programming language (edition 1.4). It is possible to let Jacobe print your Java code according to the widely used layout rules of Sun Microsystems or customize it to your own standards JacORB an object request broker written in Java - an implementation of OMG's CORBA 2.0 standard. JacORB is free, easy to install and use. (GNU LGPL) Jacquard Jacquard is a Web-database integration toolkit, written as a Java Servlet package. Jad Jad is a Java decompiler, i.e. program that reads one or more Java class files and converts them into Java source files which can be compiled again. Jailer Jailer is a tool for model-based data exporting, schema browsing, and rendering. It exports consistent, referentially intact row-sets from relational databases. It removes obsolete data without violating integrity. It is DBMS agnostic (by using JDBC), platform independent, and generates topologically sorted SQL-DML. Jameleon an acceptance-level automated testing tool that separates applications into features and allows those features to be tied together independently, creating test-cases. These test-cases can then be data-driven and executed against different environments. Even though it would be possible to write unit tests using Jameleon, Jameleon was designed with integration and acceptance-level testing in mind Jamit Java Access Modifier Inference Tool: a static analysis tool build on top of the OVM/J Java Virtual Machine Framework that can analyze closed-world Java programms and give the programmer a list of modifiers that can be improved Jamon a text template engine for Java, useful for generating dynamic HTML, XML, or any text-based content. In a typical Model-View-Controller architecture, Jamon clearly is aimed at the View (or presentation) layer Jar Browser a simple Swing app for browsing a set of jar files JarInspector an application which visualizes the content of a JAVA Jar archive using UML notation. It uncovers information like inheritance relations between classes, its attributes and methods, etc Jase Jase is a quick (put powerful) tool put together to support a UML (10,000 foot) view of Java source code. JasperAnalysis (commercial) JasperAnalysis is used to explore trends, patterns, anomalies, and correlations in data. JasperAnalysis, an integral part of the JasperIntelligence platform, provides data analysis, also known as online analytical processing, or OLAP, capabilities to users. Jatha a preprocessor that runs arbitrary java code in order to generate the source code that the compiler sees Java Code Generator a plugin of eclipse and it can automaticlly make javabean file according to MVC pattern, jsp and template Java Parallel Processing Framework Java Parallel Processing Framework is a set of tools and APIs to facilitate the parallelization of CPU intensive applications, and distribute their execution over a network of heterogenous nodes. It is intended to run in clusters and grids. Java Parser/Parser Generator a Java-based parser and parser generator package/utility. The generator builds parsers from straight EBNF notation files Java Preferences Tool Java Preferences Tool is a simple utility for Java developers and testers, in the spirit of Microsoft's Registry Editor. It allows you to view, edit, compare, and search Java preferences. Java String Analyzer for analyzing the flow of strings and string operations in Java programs. For each string expression, it computes a finite-state automaton that provides an upper approximation of the values that may appear at runtime Java Text Table Formatter Java Text Table Formatter is a set of classes to help print text in tabulated form. Java VLC Bindings Java VideoLan Client Binding lets you use the VideoLan multimedia player in any Java software. Java XTools The Java XTools are an extensive collection of enhanced functions and features for Java and Java 3D. It includes an enhanced BranchGroup Node, object loaders for several 3D file formats (.rwx, .cob, .scn, .obj, .dxf, and others), rotation interpolators for combinations of the X, Y, and Z axes, enhanced keyboard navigation, a multiple-view universe, a text to texture converter, and some other special effects and functionality. It also includes facilities and classes for (stereoscopic) images, a ByteArrayReader, data download including a disk caching mechanism, enhancements for Swing components, and networking classes. Java+ Preprocessor an open source Java preprocessor that adds these features to any Java compiler: Multi-line strings with executable inclusions like Perl or Ruby, Optionally segregates Java+ strings into ResourceBundle files JavaCov JavaCov is a coverage-testing Eclipse plugin which can be used in various J2SE and J2EE projects. JavaCov is capable of verifying the so-called MC/DC (Modified Condition/Decision Coverage) testing criterion. It monitors each branch and MC/DC criterion, even in the case of multi-thread applications. It monitors the coverage contribution of new test cases. Test cases are optimized. The test cases covering a certain branch can be displayed. It is also supports Apache Ant, and generates HTML/XML reports. JavaDoc Taglets Collection The Taglet Collection is set of general purpose taglets for use with the JavaDoc tool. It provides a standard set of new tags, and allows you to create new ones by configuration or using simple Java interfaces. JavaFBP JavaFBP is an implementation of the concepts described in the book "Flow-Based Programming". It allows a developer to specify an application as a network of "black- box" components, which are implemented as long-running Java threads, connected by bounded buffer connections, over which data objects travel ("information packets"). JavaGroups a group communication toolkit written entirely in Java. It is based on IP multicast, but extends it with reliability and group membership JavaGuard a general purpose bytecode obfuscator, designed to fit effortlessly into your regular build and testing process, providing peace of mind that your valuable Java code is more secure against decompilation and other forms of reverse engineering JavaNCSS Plug-in for Eclipse IDE an Eclipse IDE Plug-in showing metrics of your code ala ncss (non-commenting source statements) and cnn (cyclomatic compexity number JavaORB a free implementation of CORBA 2.2 that includes an IDL compiler, an interface repository, IIOP and more JavaReadline a port of GNU Readline for Java. Or, to be more precise, it is a Java-Native-Interface wrapper to readline JavaTemplates a little but very powerful tool for automatical generation of files (source code, HTML-code, ...) JAX an IBM research project into optimization and obfuscation of Java applications JBooleanExpression JBooleanExpression is a simple Java API to evaluate a Boolean string expression like "!true&&false||true" and return a value of boolean primitive type. jbootstrap jbootstrap is a tool that bootstraps your Java application without complex CLASSPATH settings. JCarder JCarder is a tool for finding potential deadlocks in concurrent multi-threaded Java programs. It does this by instrumenting Java byte code dynamically (that is, it is not a tool for static code analysis) and looking for cycles in the graph of acquired locks. JChav JChav is a way to see the change in performance of your web application over time, by running a benchmark test for each build you produce. JCite JCite makes it possible to cite snippets of Java source code in your HTML documents (API documentation, for instance). JCloak (commercial) a 100% Pure Javatm, bytecode obfuscator with complete packaging solution, jar, zip and cab support jcmdline facilitates parsing/handling of command line parameters, adds consistency to command line parameter parsing and command usage display through all executables of a Java application jConfigXML a configuration manager written in Java that works with XML files and a URL or LDAP repository to read the configuration properties. It supports a two-level hierarchical structure which includes categories Jcontract (commercial) a Java Design by Contract (DbC) tool. It instruments and compiles code that contains DbC comments, then automatically checks whether the specified contracts are violated at runtime jcpp JCPP is a complete, compliant, standalone, pure Java implementation of the C preprocessor. It is intended to be of use to people writing C-style compilers in Java using tools like sablecc, antlr, JLex, CUP, and so forth. It has been used to successfully preprocess much of the source code of the GNU C library. JCSC Java Coding Standard Checker: a powerful tool to check source code against a highly definable coding standard and potential bad code JDave JDave is a behavior-driven development framework that provides an easy way to specify the behavior of your Java classes. jdbfviewer jdbfviewer allows you to display dbf files in a JTable view (and optionally delete rows). JDemo JDemo provides a framework for demonstrating code for interactive testing. It features many convenience classes and methods that make implementing demos very easy. JDiff a JavaDoc doclet which emits an HTML report of all the packages, classes, methods, and so on, which are different (the "diff" part) when two Java APIs are compared JDOX JDOX is a vim plugin that generates javadoc compatibile comment for c++ function definitions. JEnable an easy way of controlling different build options within Java source code. It allows you to maintain and distribute a single set of source files which can support multiple configurations Jep Java Embedded Python: embeds CPython in Java. It is stable and thread-safe, and is suitable for many different scripting needs Jeremi a tool for realtime document sharing. It supports distributed work on different documents or files by different people or project groups JewelCLI JewelCli uses an annotated interface definition to automatically parse and present command line arguments JExpress Professional (commercial) create international, cross platform installers and updaters for your apps, applets, and servlets with the click of a button using JExpress JFlex a lexical analyzer generator (also known as scanner generator) for Java, written in Java. It is also a rewrite of the very useful tool JLex JFormDesigner (commercial) JFormDesigner is an advanced GUI designer for Swing user interfaces. It is easy and intuitive to use and provides a lot of powerful features. JFormDesigner fully supports JGoodies FormLayout, TableLayout, GridBagLayout, and other standard layout managers. JGCalAPI JGCalAPI provides an easy-to-use Java wrapper for the Google Calendaring GData API. This wrapper is intended to hide much of the REST ugliness of the API, thus making it somewhat easier to get started with and to use. JGUP JGUP is a code generation tool that assists with getting a head start on a new J2EE Web application project. By supplying an XML file describing the Web application, it creates your database tables and outputs a project source tree that includes an Ant build.xml for compiling and deploying the Web application. Java objects for persisting to the database are generated, and simple relations between business objects are supported. The generated application includes a Servlet/JSP user interface with input prompt validation done both by JavaScript and the servlet. An administrator's Web page for viewing the logs and setting configuration parameters is also provided. JHexDump a 100% Java HexDump program JICE an XML-based tool for constructing and configuring Java applications JideBuilder JideBuilder is a Groovy builder for the JIDE Common Layer. It is based on the original SwingBuilder. The goal of the project is to have a builder for Swing applications that seamlessly integrates default Swing and JIDE components. JInto JInto is a plugin for Eclipse that lets the developer easily edit and maintain resource bundles (files that hold the localized strings for an application). It features parallel editing of all language versions (side by side), warnings when no text has been provided for a specific key, or when the text for one key is identical for different languages, and a search wizard to locate unused strings (strings that are referenced, but not actually defined in the resource bundle). JLex a lexical analyzer generator, written for Java, in Java Jlint checks your Java code and find bugs, inconsistencies and synchronization problems by doing data flow analysis and building the lock graph jlirc Java API and tools for the LIRC and WinLIRC infrared remote control packages. It is distributed under the GNU Public License jmark a digital watermarking tool "jmark" for Java class files JNetStart (commercial) JNetStart facilitates the launching of Java Swing applications deployed on a remote server without installing or downloading the application component files. The technology narrows the gap between the Web browser and Swing by making large client applications instantly available to the user and providing a Web-style experience in the startup process. JNIWrapper allows Java applications to invoke any function with any parameters from a native code library Jostraca a general purpose code generation toolkit for software developers. Code generation helps save you time and effort by reducing redundancy and drudge work jPatchLib jPatchLib is a Java library that implements the GNU patch algorithm. This allows a Java programmer to apply patch files, which are output by the diff command, to change existing text files. JProfiler (commercial) a feature-rich next-generation profiling suite JPythonJB a JBuilder OpenTool which integrates JPython into JBuilder JRat Java Runtime Analysis Toolkit: purpose is to enable developers to better understand the runtime behavior of their Java programs JRecord JRecord provides code to read and write files of length-based records, both fixed-length records and records based on length fields. JRegexpTester a standalone Swing application that helps you test regular expressions with the Java standard API JRxToolkit a GUI written in Java to test and write regular POSIX expressions JS/CORBA Adapter provides a mechanism for arbitrary Javascript objects to interact with each other transparently in a distributed Javascript system using CORBA Jscroll provides a virtual desktop replete with dynamic scroll bars, dynamic menus, and dynamic button shortcuts. The JDesktopPane class, first introduced in JDK 1.2 as a subsidiary to Swing's GUI component series, lets you create a virtual desktop or Multiple Document Interface (MDI) in Java applications. JInternalFrame's various child windows or internal frames populate this desktop, and because those frames are internal, they are clipped at the boundary of the JDesktopPane container class jSeamless jSeamless is a UI abstraction layer for Java to allow developers to write code for any platform and any environment (Web, desktop, mobile, etc.) without having to know ahead of time the deployment platform or environment will be. Jshrink (commercial) extracts the minimal set of Java class files for an application, removes unused code and data, obfuscates symbolic names, finalizes code for optimized execution, and stores the results in a Java archive JSizer JSizer is a tool that shows the size of Java classes in a graph. The graph has nodes with width, height, and color depending on the number of fields, number of methods, and lines of code. JSON-RPC-Java JSON-RPC-Java is a key piece of Java web application middleware that allows JavaScript DHTML web applications to call remote methods in a Java Application Server (remote scripting) without the need for page reloading (as is the case with the vast majority of current web applications). It enables a new breed of fast and highly dynamic enterprise Java web applications (using similar techniques to Gmail and Google Suggests). JsTester JsTester allows validation of javaScript code inside java. It provides a group of assert methods like JUnit's Assert, it also supports the validations described in http://javascript.crockford.com/remedial.html, and the ability to use your own validations (unary & binary predicates). JSVN JSVN is a Java Swing client to access and manipulate a Subversion repository. JSVN is currently in the early stages of development. JSX Java Serialization to XML: takes in an object and writes out its contents as XML, and vice versa. Java objects are serialized as XML elements, and object fields as attributes JSync (commercial) a Technology Solutions Toolbox with powerful cross-platform tools for development, data management, database administration, migration, and integration. JSync runs on any JDK 1.2.2+ compliant platform and connects to virtually any data source including mainframe databases with SQL-like ease JTLT a general text based templating system. It is very easy to use and very powerful. It can be used for almost anything - starting from code generation at translators/compilers to HTML outputing at Java servlets JTreeProfiler a JVMPI based profiler for Java that collects all methods calls in a XML File and displays them in a TreeMap JTux A software package that integrates Java with Tuxedo. Using JTux, Tuxedo customers can write Tuxedo clients and servers in Java and seamlessly integrate a wide range of Java enterprise technologies into their existing Tuxedo infrastructures. JUnit PDF Report JUnit PDF Report generates PDF test reports from your JUnit unit tests. Extension points give you the opportunity to add contents to the report. You can add descriptions and images to your test suite. JUnitDoclet generates skeletons of TestCases based on your application source code. And it supports you to reorganize tests during refactoring JUnitX an extension module for JUnit that allows testing of private and protected Java classes, methods and variables JView a J2EE Production Performance Monitor and Java Performance Tuning solution, providing precise real-time performance metrics to assist you in ensuring your performance requirements and Service Level Agreements JyConsole JyConsole is an advanced Java graphic console for Jython, providing an object-oriented completion feature to help the handling Jython and Java objects. It includes a command history, easy external script loading through a simple file chooser, and basic GUI preference management. JYUSECS a unit test tool for SECS (SEMI Equipment Communications Standard). It can simulate host or equipment, and provides SECS-I(RS-232C) and HSMS(TCP/IP) protocols Kettle K.E.T.T.L.E (Kettle ETTL Environment) is a meta- data driven ETTL (Extraction, Transformation, Transportation, and Loading) tool. This means that no code has to be written to perform complex data transformations KlassMaster (commercial) provides the added code protection of its breakthru, second generation Flow Obfuscation technology and its unique String Encryption technology Koalog Code Coverage a code coverage computation application: its main features are in-process or remote coverage computation, the ability to work directly on Java binaries without recompilation, predefined (XML, HTML, LaTeX, CSV, TEXT) or custom report generation, session merging, portability, ease-of-use, and Ant integration Koalog Configurator (commercial) a configurator written in Java. It comes with two graphical user interfaces (Swing and Web), an XML importer, and a maintenance application. It allows users to rapidly and easily configure products or services while satisfying thousands of business rules. launch4j Launch4j is a cross-platform tool for wrapping Java applications distributed as jars in Windows native executables. The executable can be configured to search for a certain JRE version or use a bundled one, and it's possible to set runtime options, like the initial/max heap size. The wrapper also provides better user experience through an application icon, a native pre-JRE splash screen, a custom process name, and a Java download page in case the appropriate JRE cannot be found. luntbuild luntbuild is a daily build tool based on Apache Ant. It performs build automation and management totally from a clean web interface. Luxilla a "runtime" that turns Luxor XUL markup into live windows, dialogs, menus, toolbars and more without requiring a single-line of Java code Luxor an open-source XML User Interface Language (XUL) toolkit in Java that tries to be compatible with Mozilla XUL. Luxor also includes a light-weight web server and a light-weight portal engine supporting RSS and integrates well with Apache Velocity Macker a build-time architectural rule checking utility for Java developers. It's meant to model the architectural ideals programmers always dream up for their projects, and then break -- it helps keep code clean and consistent Marathon GUI Test Tool runs gui based acceptance tests against swing applications. It is composed of a runner, and recorder, and an editor. Tests scripts are expressed as python code Matra a java based XML DTD Parser Utility. It allows you to parse a dtd, generate a dtdtree for the dtd and merge the dtd and its included modules into a single dtd Maven a Java project management and project comprehension tool. Maven is based on the concept of a project object model (POM) in that all the artifacts produced by Maven are a result of consulting a well defined model for your project MetaBoss (commercial) an integrated suite of tools for design, development and management of software systems through modelling. It utilises MDA (Model Driven Architecture) concepts and is primarily oriented at enterprises using Java based tools and technologies Metamorphosis a short course about Swing visual design and user interface implementation that can help you understand and avoid common design errors of Swing based Java applications MillScript-Alert MillScript-Alert is an extension to Java's RuntimeException, with an emphasis on providing far more debugging information. This system is used extensively by the MillScript project and its libraries, with good results. MillScript-VFS MillScript-VFS is a URI-based virtual filing system for Java. It allows protocol independent access to files and folders with complete platform independence. The intention is to support any protocol and archive supported in Java, with features such as memory and disk-based caching of file content and folder listings. The API can also support artificial filing systems, such as an XML document viewed as a filing system. MockDoclet an active code generation tool for automatically generating mock objects implementation classes from existing classes or interfaces in Java Modelistic (commercial) a Java object oriented CASE tool to enable software developers to build stronger OO models in less time MSS Code Factory The MSS Code Factory is a highly configurable code manufacturing tool which takes an XML data model and applies XML rule cartridges to transform it into application code. Currently, the target is XDoclet2/Hibernate3 with support for Oracle, PostgreSQL, Sybase, and DB/2 UDB relational databases. Nagios Appender NagiosAppender is a pure Java implementation of a Log4j appender that allows the developer/administrator to send log records to Nagios via the NCSA server (using the push model). It provides a simple solution for Nagios administrators whose only alternative is to implement a polling function against against the output of a standard Log4j appender. The log4j configuration file provides for user-specific mappings between Log4j levels and Nagios levels. The configuration file also allows the user to select whether to set the Nagios 'service' and 'host' programmatically via Log4j MDC, or via the config file. Later releases support XOR encryption. NDoclet a doclet that generates MSDN style API documentation from Java source code. NDoclet was inspired by the NDoc documentation tool for .NET and credit goes to the NDoc developers for the stylesheets, scripts and images used by the HTML pages generated by NDoclet NiceStep NiceStep is an attempt to bring the look and feel of N*XTSTEP, GNUStep, and WindowMaker to Java applications. It is a set of Java Beans and common dialogs that are designed to replace the components in the package java.awt. Nickel Nickel is a bridge/bindings generator for Java/Objective Caml. It is part of the OCaml-Java project. nmaven NMaven provides Maven 2.x plugins to support the building of .NET applications. This framework allows the developer to easily add additional compiler support through config files and have them built with Maven. NoUnit allows you to see how good your JUnit tests are. It generates a report from your code to graphically show you how many of your project's methods are being tested , and how well ObjectBrowser Bean ObjectBrowser Bean provides a simple way of generating a graphical user interface automatically, following a file-explorer like interface. Any java object can be dropped into the bean, and it's methods and properties will be automatically made available for inspection and modification. Objectrefenceanalyser The ORA-Framework (Objectreferenceanalyser) can visualizes objects and their relations in memory during runtime of nearly every JAVA-application. It enables developers to take lightweight 'snapshots' of the current objects in memory. ObjectTeam an OO modeling and design tool, available for Linux. It offers UML compliant Class Diagram Editor; Code Generation for C++ and Java ocl4java OCL4Java is a pre-compiler(ant and eclipse) to include OCL-Constrains as Java5 Annotations in the Source-Code and have code to check them generated with a user-defined reaction to violations.