org.apache.tools.ant.util

Class JavaEnvUtils

public final class JavaEnvUtils extends Object

A set of helper methods related to locating executables or checking conditons of a given Java installation.

Since: Ant 1.5

Field Summary
static StringJAVA_1_0
Version constant for Java 1.0
static StringJAVA_1_1
Version constant for Java 1.1
static StringJAVA_1_2
Version constant for Java 1.2
static StringJAVA_1_3
Version constant for Java 1.3
static StringJAVA_1_4
Version constant for Java 1.4
static StringJAVA_1_5
Version constant for Java 1.5
static StringJAVA_1_6
Version constant for Java 1.6
static StringJAVA_1_7
Version constant for Java 1.7
static StringJAVA_1_8
Version constant for Java 1.8
static intVERSION_1_0
Number Version constant for Java 1.0
static intVERSION_1_1
Number Version constant for Java 1.1
static intVERSION_1_2
Number Version constant for Java 1.2
static intVERSION_1_3
Number Version constant for Java 1.3
static intVERSION_1_4
Number Version constant for Java 1.4
static intVERSION_1_5
Number Version constant for Java 1.5
static intVERSION_1_6
Number Version constant for Java 1.6
static intVERSION_1_7
Number Version constant for Java 1.7
static intVERSION_1_8
Number Version constant for Java 1.8
Method Summary
static FilecreateVmsJavaOptionFile(String[] cmd)
Writes the command into a temporary DCL script and returns the corresponding File object.
static StringgetJavaHome()
Return the value of ${java.home}
static StringgetJavaVersion()
Returns the version of Java this class is running under.
static intgetJavaVersionNumber()
Returns the version of Java this class is running under.
static StringgetJdkExecutable(String command)
Finds an executable that is part of a JDK installation based on the java.home system property.
static StringgetJreExecutable(String command)
Finds an executable that is part of a JRE installation based on the java.home system property.
static VectorgetJrePackages()
get a vector of strings of packages built into that platforms runtime jar(s)
static VectorgetJrePackageTestCases()
Testing helper method; kept here for unification of changes.
static booleanisApacheHarmony()
Checks whether the current VM is Apache Harmony.
static booleanisAtLeastJavaVersion(String version)
Compares the current Java version to the passed in String - assumes the argument is one of the constants defined in this class.
static booleanisGij()
Checks whether the current Java VM is the GNU interpreter gij or we are running in a gcj precompiled binary.
static booleanisJavaVersion(String version)
Compares the current Java version to the passed in String - assumes the argument is one of the constants defined in this class.
static booleanisKaffe()
Checks whether the current Java VM is Kaffe.

Field Detail

JAVA_1_0

public static final String JAVA_1_0
Version constant for Java 1.0

JAVA_1_1

public static final String JAVA_1_1
Version constant for Java 1.1

JAVA_1_2

public static final String JAVA_1_2
Version constant for Java 1.2

JAVA_1_3

public static final String JAVA_1_3
Version constant for Java 1.3

JAVA_1_4

public static final String JAVA_1_4
Version constant for Java 1.4

JAVA_1_5

public static final String JAVA_1_5
Version constant for Java 1.5

JAVA_1_6

public static final String JAVA_1_6
Version constant for Java 1.6

JAVA_1_7

public static final String JAVA_1_7
Version constant for Java 1.7

JAVA_1_8

public static final String JAVA_1_8
Version constant for Java 1.8

VERSION_1_0

public static final int VERSION_1_0
Number Version constant for Java 1.0

VERSION_1_1

public static final int VERSION_1_1
Number Version constant for Java 1.1

VERSION_1_2

public static final int VERSION_1_2
Number Version constant for Java 1.2

VERSION_1_3

public static final int VERSION_1_3
Number Version constant for Java 1.3

VERSION_1_4

public static final int VERSION_1_4
Number Version constant for Java 1.4

VERSION_1_5

public static final int VERSION_1_5
Number Version constant for Java 1.5

VERSION_1_6

public static final int VERSION_1_6
Number Version constant for Java 1.6

VERSION_1_7

public static final int VERSION_1_7
Number Version constant for Java 1.7

VERSION_1_8

public static final int VERSION_1_8
Number Version constant for Java 1.8

Method Detail

createVmsJavaOptionFile

public static File createVmsJavaOptionFile(String[] cmd)
Writes the command into a temporary DCL script and returns the corresponding File object. It is the job of the caller to delete the file on exit.

Parameters: cmd the command.

Returns: the file containing the command.

Throws: IOException if there is an error writing to the file.

getJavaHome

public static String getJavaHome()
Return the value of ${java.home}

Returns: the java home value.

getJavaVersion

public static String getJavaVersion()
Returns the version of Java this class is running under.

Returns: the version of Java as a String, e.g. "1.6"

getJavaVersionNumber

public static int getJavaVersionNumber()
Returns the version of Java this class is running under. This number can be used for comparisions; it will always be

Returns: the version of Java as a number 10x the major/minor, e.g Java1.5 has a value of 15

getJdkExecutable

public static String getJdkExecutable(String command)
Finds an executable that is part of a JDK installation based on the java.home system property.

You typically find them in JAVA_HOME/bin if JAVA_HOME points to your JDK installation.

Parameters: command the java executable to find.

Returns: the path to the command.

Since: Ant 1.5

getJreExecutable

public static String getJreExecutable(String command)
Finds an executable that is part of a JRE installation based on the java.home system property.

java, keytool, policytool, orbd, rmid, rmiregistry, servertool and tnameserv are JRE executables on Sun based JRE's.

You typically find them in JAVA_HOME/jre/bin if JAVA_HOME points to your JDK installation. JDK < 1.2 has them in the same directory as the JDK executables.

Parameters: command the java executable to find.

Returns: the path to the command.

Since: Ant 1.5

getJrePackages

public static Vector getJrePackages()
get a vector of strings of packages built into that platforms runtime jar(s)

Returns: list of packages.

getJrePackageTestCases

public static Vector getJrePackageTestCases()
Testing helper method; kept here for unification of changes.

Returns: a list of test classes depending on the java version.

isApacheHarmony

public static boolean isApacheHarmony()
Checks whether the current VM is Apache Harmony.

Returns: true if the current VM is Apache Harmony.

Since: Ant 1.8.2

isAtLeastJavaVersion

public static boolean isAtLeastJavaVersion(String version)
Compares the current Java version to the passed in String - assumes the argument is one of the constants defined in this class. Note that Ant now requires JDK 1.4+ so JAVA_1_0 through JAVA_1_3 need no longer be tested for.

Parameters: version the version to check against the current version.

Returns: true if the version of Java is the same or higher than the given version.

Since: Ant 1.7

isGij

public static boolean isGij()
Checks whether the current Java VM is the GNU interpreter gij or we are running in a gcj precompiled binary.

Returns: true if the current Java VM is gcj/gij.

Since: Ant 1.8.2

isJavaVersion

public static boolean isJavaVersion(String version)
Compares the current Java version to the passed in String - assumes the argument is one of the constants defined in this class. Note that Ant now requires JDK 1.4+ so JAVA_1_0 through JAVA_1_3 need no longer be tested for.

Parameters: version the version to check against the current version.

Returns: true if the version of Java is the same as the given version.

Since: Ant 1.5

isKaffe

public static boolean isKaffe()
Checks whether the current Java VM is Kaffe.

Returns: true if the current Java VM is Kaffe.

Since: Ant 1.6.3

See Also: http://www.kaffe.org/