Find Java

This module finds if Java is installed and determines where the include files and libraries are. The caller may set variable JAVA_HOME to specify a Java installation prefix explicitly.

This module sets the following result variables:

Java_JAVA_EXECUTABLE    = the full path to the Java runtime
Java_JAVAC_EXECUTABLE   = the full path to the Java compiler
Java_JAVAH_EXECUTABLE   = the full path to the Java header generator
Java_JAVADOC_EXECUTABLE = the full path to the Java documention generator
Java_JAR_EXECUTABLE     = the full path to the Java archiver
Java_VERSION_STRING     = Version of the package found (java version), eg. 1.6.0_12
Java_VERSION_MAJOR      = The major version of the package found.
Java_VERSION_MINOR      = The minor version of the package found.
Java_VERSION_PATCH      = The patch version of the package found.
Java_VERSION_TWEAK      = The tweak version of the package found (after '_')
Java_VERSION            = This is set to: $major.$minor.$patch(.$tweak)

The minimum required version of Java can be specified using the standard CMake syntax, e.g. find_package(Java 1.5)

NOTE: ${Java_VERSION} and ${Java_VERSION_STRING} are not guaranteed to be identical. For example some java version may return: Java_VERSION_STRING = 1.5.0_17 and Java_VERSION =

another example is the Java OEM, with: Java_VERSION_STRING = 1.6.0-oem and Java_VERSION = 1.6.0

For these components the following variables are set:

Java_FOUND                    - TRUE if all components are found.
Java_INCLUDE_DIRS             - Full paths to all include dirs.
Java_LIBRARIES                - Full paths to all libraries.
Java_<component>_FOUND        - TRUE if <component> is found.

Example Usages:

find_package(Java COMPONENTS Runtime)
find_package(Java COMPONENTS Development)