org.apache.tools.ant.util

Class JavaEnvUtils


public final class JavaEnvUtils
extends java.lang.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 String
JAVA_1_0
Version constant for Java 1.0
static String
JAVA_1_1
Version constant for Java 1.1
static String
JAVA_1_2
Version constant for Java 1.2
static String
JAVA_1_3
Version constant for Java 1.3
static String
JAVA_1_4
Version constant for Java 1.4
static String
JAVA_1_5
Version constant for Java 1.5
static String
JAVA_1_6
Version constant for Java 1.6

Method Summary

static File
createVmsJavaOptionFile(String[] cmd)
Writes the command into a temporary DCL script and returns the corresponding File object.
static String
getJavaHome()
Return the value of ${java.home}
static String
getJavaVersion()
Returns the version of Java this class is running under.
static int
getJavaVersionNumber()
Returns the version of Java this class is running under.
static String
getJdkExecutable(String command)
Finds an executable that is part of a JDK installation based on the java.home system property.
static String
getJreExecutable(String command)
Finds an executable that is part of a JRE installation based on the java.home system property.
static Vector
getJrePackageTestCases()
Testing helper method; kept here for unification of changes.
static Vector
getJrePackages()
get a vector of strings of packages built into that platforms runtime jar(s)
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.
static boolean
isClasspathBased()
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.
static boolean
isKaffe()
Checks whether the current Java VM is Kaffe.

Field Details

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

Method Details

createVmsJavaOptionFile

public static File createVmsJavaOptionFile(String[] cmd)
            throws IOException
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.

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.1"

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

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.

getJrePackages

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

isAtLeastJavaVersion

public static boolean isAtLeastJavaVersion(String version)
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

isClasspathBased

public static boolean isClasspathBased()

isJavaVersion

public static boolean isJavaVersion(String version)
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