サンプル
public class Factory {

public Factory(URL[] urls) {
customClassLoader = new URLClassLoader(urls);
}

public Object getObject(String name) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
return customClassLoader.loadClass(name).newInstance();
}

private ClassLoader customClassLoader = null;
}
解決策
デフォルトのクラス・ロード・メカニズムが十分であるように、データが編成化される方法を変更します。
public class Factory {

public Factory() {
}

public Object getObject(String name) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
return getClass().getClassLoader().loadClass(name).newInstance();
}


}