Browse Source

CHange most usage of the classloader so that it loads from the

system classpath first.


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@269308 13f79535-47bb-0310-9956-ffa450edef68
master
Conor MacNeill 24 years ago
parent
commit
04c15d05cf
6 changed files with 9 additions and 16 deletions
  1. +2
    -4
      src/main/org/apache/tools/ant/AntClassLoader.java
  2. +1
    -1
      src/main/org/apache/tools/ant/taskdefs/Available.java
  3. +2
    -7
      src/main/org/apache/tools/ant/taskdefs/Definer.java
  4. +1
    -1
      src/main/org/apache/tools/ant/taskdefs/Property.java
  5. +1
    -1
      src/main/org/apache/tools/ant/taskdefs/SQLExec.java
  6. +2
    -2
      src/main/org/apache/tools/ant/taskdefs/optional/XMLValidateTask.java

+ 2
- 4
src/main/org/apache/tools/ant/AntClassLoader.java View File

@@ -229,10 +229,6 @@ public class AntClassLoader extends ClassLoader {
public AntClassLoader(Project project, Path classpath) {
this.project = project;
this.classpath = classpath.concatSystemClasspath("ignore");

// JDK > 1.1 should add these by default, but some VMs don't
addSystemPackageRoot("java");
addSystemPackageRoot("javax");
}

/**
@@ -244,6 +240,8 @@ public class AntClassLoader extends ClassLoader {
public AntClassLoader(Project project, Path classpath, boolean systemFirst) {
this(project, classpath);
this.systemFirst = systemFirst;
addSystemPackageRoot("java");
addSystemPackageRoot("javax");
}

/**


+ 1
- 1
src/main/org/apache/tools/ant/taskdefs/Available.java View File

@@ -137,7 +137,7 @@ public class Available extends Task {
}

if (classpath != null) {
this.loader = new AntClassLoader(project, classpath, false);
this.loader = new AntClassLoader(project, classpath);
}

if ((classname != null) && !checkClass(classname)) {


+ 2
- 7
src/main/org/apache/tools/ant/taskdefs/Definer.java View File

@@ -96,17 +96,12 @@ public abstract class Definer extends Task {
throw new BuildException(msg);
}
try {
boolean systemFirst = false;
String bscp = project.getProperty("build.sysclasspath");
if (bscp != null && bscp.equals("only")) {
systemFirst = true;
}
ClassLoader loader = null;
AntClassLoader al = null;
if (classpath != null) {
al = new AntClassLoader(project, classpath, systemFirst);
al = new AntClassLoader(project, classpath);
} else {
al = new AntClassLoader(project, Path.systemClasspath, systemFirst);
al = new AntClassLoader(project, Path.systemClasspath);
}
// need to load Task via system classloader or the new
// task we want to define will never be a Task but always


+ 1
- 1
src/main/org/apache/tools/ant/taskdefs/Property.java View File

@@ -214,7 +214,7 @@ public class Property extends Task {
InputStream is = null;

if (classpath != null) {
cL = new AntClassLoader(project, classpath, false);
cL = new AntClassLoader(project, classpath);
} else {
cL = this.getClass().getClassLoader();
}


+ 1
- 1
src/main/org/apache/tools/ant/taskdefs/SQLExec.java View File

@@ -366,7 +366,7 @@ public class SQLExec extends Task {
log( "Loading " + driver + " using AntClassLoader with classpath " + classpath,
Project.MSG_VERBOSE );

loader = new AntClassLoader(project, classpath, false);
loader = new AntClassLoader(project, classpath);
dc = loader.loadClass(driver);
}
else {


+ 2
- 2
src/main/org/apache/tools/ant/taskdefs/optional/XMLValidateTask.java View File

@@ -262,8 +262,8 @@ public class XMLValidateTask extends Task {
//Class readerImpl = null;
//Class parserImpl = null;
if (classpath != null) {
AntClassLoader loader = new AntClassLoader(project, classpath, false);
loader.addSystemPackageRoot("org.xml"); // needed to avoid conflict
AntClassLoader loader = new AntClassLoader(project, classpath);
// loader.addSystemPackageRoot("org.xml"); // needed to avoid conflict
readerClass = loader.loadClass(readerClassName);
AntClassLoader.initializeClass(readerClass);
} else


Loading…
Cancel
Save