InstrumentationClassFinder () { final StringBuilder classPathBuffer = new StringBuilder(); final Project project = getProject(); final Path cp = new Path(project); appendPath(cp, getBootclasspath()); cp.setLocation(getDestdir().getAbsoluteFile()); appendPath(cp, getClasspath()); appendPath(cp, getSourcepath()); appendPath(cp, getSrcdir()); if (getIncludeantruntime()) { cp.addExisting(cp.concatSystemClasspath("last")); } boolean shouldIncludeJavaRuntime = getIncludejavaruntime(); if (!shouldIncludeJavaRuntime) { if (project != null) { final String propValue = project.getProperty(PROPERTY_INSTRUMENTATION_INCLUDE_JAVA_RUNTIME); shouldIncludeJavaRuntime = !("false".equalsIgnoreCase(propValue) || "no".equalsIgnoreCase(propValue)); } else { shouldIncludeJavaRuntime = true; } } if (shouldIncludeJavaRuntime) { cp.addJavaRuntime(); } cp.addExtdirs(getExtdirs()); final String[] pathElements = cp.list(); for (final String pathElement : pathElements) { classPathBuffer.append(File.pathSeparator); classPathBuffer.append(pathElement); } final String classPath = classPathBuffer.toString(); log("classpath=" + classPath, Project.MSG_VERBOSE); try { return createInstrumentationClassFinder(classPath, shouldIncludeJavaRuntime); } catch (MalformedURLException e) { fireError(e.getMessage()); return null; } }