Skip to main content

JavaHelp System

The JavaHelp system is an online help system that developers can use to add online help to their Java platform applications. The JavaHelp system is both a JCP specification (JSR 97) and a reference implementation of that specification. The JavaHelp system open source project includes the source to the reference implementation.

News and Announcements

JavaHelp 2.0_05 Release (October 3, 2007)
The JavaHelp 2.0_05 release is now available in the repository and for download from this page. The 2.0_05 release fixes the bug (Bug ID 6375606) that caused search highlighting problems when used with JDK 1.5.0_06 and later.


  • Get a quick overview
  • Participate in the JavaHelp project
  • Read about the JavaHelp system
  • Build the JavaHelp system
  • Download the JavaHelp Version 2.0 TCK
  • Download the latest JavaHelp system build


The JavaHelp system provides developers and authors with a standard, fully featured, easy to use system for presenting online information to Java application users. The JavaHelp system is a Java Platform, Standard Edition ("Java SE") optional package.

The JavaHelp system consists of a fully featured, extensible specification and API, and a reference implementation of that specification and API that is written entirely in the Java programming language. The JavaHelp system reference implementation, based on the Java Foundation Classes (JFC, also known as Swing), provides a standard interface that enables both application developers and authors to add online help to their applications.

The specification and API enable developers to customize and extend the help system to fit the style and requirements of their applications.

The JavaHelp system has been designed to work especially well in a variety of network environments. The JavaHelp system is platform independent and works in all browsers that support the Java platform.

The JavaHelp system enables Java developers to provide online help for:

  • Applications (both applet and standalone)
  • JavaBeans components
  • Applets in HTML pages
  • Server-based Java applications

Participate in the JavaHelp Project

Please refer to the governance guidelines used for the JavaHelp project to find out how you can participate in the project.


The JavaHelp System User's Guide describes the help system and includes the following sections:

  • A description of the contents of the current JavaHelp system release.
  • A general overview of the JavaHelp system. Describes features, usage scenarios, and other technical details.
  • A guide for help authors. Describes how to: set up a help system, use popups and secondary windows, use context-sensitive help, use full-text search, and package help information for delivery to users.
  • A guide for developers. Describes how to: add JavaHelp to applications, implement context-sensitive help, embed JavaHelp components into applications, and develop lightweight Java components that can be added to help topics.
  • A guide for localizers of JavaHelp systems.

Note: The helpset from which this document was created is contained in the code repository.

Build the JavaHelp System

The easiest way to build the JavaHelp system is to open the three NetBeans projects that make up the JavaHelp system sources in the NetBeans IDE. You can also build it using the Ant build script (build.xml) located in the project's javahelp_nbproject/ directory. Note that the build downloads the JSP and Servlet APIs that are required for compilation (JDIC is stubbed out).

The project also has GNU Make makefiles that can build the project on the Solaris operating system. In order to use the makefiles, you must download and install the Glassfish build and set the J2EEHOME environment variable to its top-level directory. The makefiles are adaptable to the Linux operating system.

The primary method for building the project is using GNU Make, the Ant scripts are provided solely for your convenience. The demos included with the release can only be built using the makefiles and are not built during the Ant build.

The JavaHelp Version 2.0 Technical Compatibility Kit (TCK)

Because the JavaHelp system is a Java SE platform optional package, any implementation of the specification must pass the TCK in order to verify its compatibility with the JSR 97 specification.

The TCK is packaged as a Zip archive. After you download and unpack the Zip archive, you must edit and modify the five properties at the top of the file run-test.xml.

Note that execution of the compatibility kit requires Ant. Ant is available at .

To run the tests execute the following command:

ant -f run-test.xml

Download the Latest JavaHelp System Build

To download the latest JavaHelp system build, click here. The source code is licensed under GNU General Public License - Version 2 with the class path exception.

Please Confirm