Carry out the rmic compilation.
getRmic().log("Using WebLogic rmic", Project.MSG_VERBOSE);
Commandline cmd = setupRmicCommand(new String[] {"-noexit"});
AntClassLoader loader = null;
try {
// Create an instance of the rmic
Class c = null;
if (getRmic().getClasspath() == null) {
c = Class.forName(WLRMIC_CLASSNAME);
} else {
loader
= getRmic().getProject().createClassLoader(getRmic().getClasspath());
c = Class.forName(WLRMIC_CLASSNAME, true, loader);
}
Method doRmic = c.getMethod("main",
new Class [] {String[].class});
doRmic.invoke(null, new Object[] {cmd.getArguments()});
return true;
} catch (ClassNotFoundException ex) {
throw new BuildException(ERROR_NO_WLRMIC_ON_CLASSPATH, getRmic().getLocation());
} catch (Exception ex) {
if (ex instanceof BuildException) {
throw (BuildException) ex;
} else {
throw new BuildException(ERROR_WLRMIC_FAILED, ex,
getRmic().getLocation());
}
} finally {
if (loader != null) {
loader.cleanup();
}
}