diff --git a/src/main/org/apache/tools/ant/taskdefs/Javac.java b/src/main/org/apache/tools/ant/taskdefs/Javac.java
index 1890484d0..99766aa7c 100644
--- a/src/main/org/apache/tools/ant/taskdefs/Javac.java
+++ b/src/main/org/apache/tools/ant/taskdefs/Javac.java
@@ -302,7 +302,11 @@ public class Javac extends MatchingTask {
// XXX
// we need a way to not use the current classpath.
- private String getCompileClasspath() {
+ /**
+ * @param addRuntime Shall rt.jar
or
+ * classes.zip
be added to the classpath.
+ */
+ private String getCompileClasspath(boolean addRuntime) {
StringBuffer classpath = new StringBuffer();
// add dest dir to classpath so that previously compiled and
@@ -321,6 +325,21 @@ public class Javac extends MatchingTask {
// add the system classpath
addExistingToClasspath(classpath,System.getProperty("java.class.path"));
+ if (addRuntime) {
+ if (Project.getJavaVersion() == Project.JAVA_1_1) {
+ addExistingToClasspath(classpath,
+ System.getProperty("java.home")
+ + File.separator + "lib"
+ + File.separator + "classes.zip");
+ } else {
+ addExistingToClasspath(classpath,
+ System.getProperty("java.home")
+ + File.separator +"jre"
+ + File.separator + "lib"
+ + File.separator + "rt.jar");
+ }
+ }
+
return classpath.toString();
}
@@ -360,7 +379,7 @@ public class Javac extends MatchingTask {
private void doClassicCompile() throws BuildException {
project.log("Using classic compiler", project.MSG_VERBOSE);
- String classpath = getCompileClasspath();
+ String classpath = getCompileClasspath(false);
Vector argList = new Vector();
if (deprecation == true)
@@ -441,7 +460,7 @@ public class Javac extends MatchingTask {
private void doModernCompile() throws BuildException {
project.log("Using modern compiler", project.MSG_VERBOSE);
- String classpath = getCompileClasspath();
+ String classpath = getCompileClasspath(false);
Vector argList = new Vector();
if (deprecation == true)
@@ -538,7 +557,7 @@ public class Javac extends MatchingTask {
project.log("Using jikes compiler",project.MSG_VERBOSE);
StringBuffer classpath = new StringBuffer();
- classpath.append(getCompileClasspath());
+ classpath.append(getCompileClasspath(true));
// Jikes doesn't support an extension dir (-extdir)
// so we'll emulate it for compatibility and convenience.