private void runJPDAAppReloaded() {
String reloadedClassName = org.apache.tools.ant.module.api.IntrospectedInfo.getKnownInfo().getDefs("task").get("nbjpdaappreloaded");
if (reloadedClassName == null) {
return;
}
String reloadedPackageName = reloadedClassName.substring(0, reloadedClassName.lastIndexOf('.'));
try {
Map<String, ClassLoader> customDefClassLoaders = (Map<String, ClassLoader>)
Lookup.getDefault().lookup(ClassLoader.class).
loadClass("org.apache.tools.ant.module.bridge.AntBridge").
getMethod("getCustomDefClassLoaders").invoke(null);
ClassLoader reloadedClassLoader = customDefClassLoaders.get(reloadedPackageName);
if (reloadedClassLoader != null) {
Class reloadedClass = reloadedClassLoader.loadClass(reloadedClassName);
reloadedClass.getMethod("execute").invoke(reloadedClass.newInstance());
}
} catch (Exception ex) {
Exceptions.printStackTrace(ex);
}
}