org.apache.tools.ant.util
Class JavaEnvUtils

java.lang.Object
  extended by org.apache.tools.ant.util.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 java.lang.String JAVA_1_0
          Version constant for Java 1.0
static java.lang.String JAVA_1_1
          Version constant for Java 1.1
static java.lang.String JAVA_1_2
          Version constant for Java 1.2
static java.lang.String JAVA_1_3
          Version constant for Java 1.3
static java.lang.String JAVA_1_4
          Version constant for Java 1.4
static java.lang.String JAVA_1_5
          Version constant for Java 1.5
static java.lang.String JAVA_1_6
          Version constant for Java 1.6
 
Method Summary
static java.io.File createVmsJavaOptionFile(java.lang.String[] cmd)
          Writes the command into a temporary DCL script and returns the corresponding File object.
static java.lang.String getJavaHome()
          Return the value of ${java.home}
static java.lang.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 java.lang.String getJdkExecutable(java.lang.String command)
          Finds an executable that is part of a JDK installation based on the java.home system property.
static java.lang.String getJreExecutable(java.lang.String command)
          Finds an executable that is part of a JRE installation based on the java.home system property.
static java.util.Vector getJrePackages()
          get a vector of strings of packages built into that platforms runtime jar(s)
static java.util.Vector getJrePackageTestCases()
          Testing helper method; kept here for unification of changes.
static boolean isAtLeastJavaVersion(java.lang.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 isJavaVersion(java.lang.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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

JAVA_1_0

public static final java.lang.String JAVA_1_0
Version constant for Java 1.0

See Also:
Constant Field Values

JAVA_1_1

public static final java.lang.String JAVA_1_1
Version constant for Java 1.1

See Also:
Constant Field Values

JAVA_1_2

public static final java.lang.String JAVA_1_2
Version constant for Java 1.2

See Also:
Constant Field Values

JAVA_1_3

public static final java.lang.String JAVA_1_3
Version constant for Java 1.3

See Also:
Constant Field Values

JAVA_1_4

public static final java.lang.String JAVA_1_4
Version constant for Java 1.4

See Also:
Constant Field Values

JAVA_1_5

public static final java.lang.String JAVA_1_5
Version constant for Java 1.5

See Also:
Constant Field Values

JAVA_1_6

public static final java.lang.String JAVA_1_6
Version constant for Java 1.6

See Also:
Constant Field Values
Method Detail

getJavaVersion

public static java.lang.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

isJavaVersion

public static boolean isJavaVersion(java.lang.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.2+ so JAVA_1_0 and JAVA_1_1 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

isAtLeastJavaVersion

public static boolean isAtLeastJavaVersion(java.lang.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.2+ so JAVA_1_0 and JAVA_1_1 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

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/

getJreExecutable

public static java.lang.String getJreExecutable(java.lang.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

getJdkExecutable

public static java.lang.String getJdkExecutable(java.lang.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

getJrePackageTestCases

public static java.util.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 java.util.Vector getJrePackages()
get a vector of strings of packages built into that platforms runtime jar(s)

Returns:
list of packages.

createVmsJavaOptionFile

public static java.io.File createVmsJavaOptionFile(java.lang.String[] cmd)
                                            throws java.io.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.
Throws:
java.io.IOException - if there is an error writing to the file.

getJavaHome

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

Returns:
the java home value.