Мне нужно загрузить файл jar во время выполнения на Java, и у меня есть этот код, но он не загружает jar, и я не знаю, как, кто-нибудь может сказать мне, почему? У меня есть JVM 8 и NetBeans 8, цель - создать программу, которая может загружать файлы jar в виде плагинов для Windows.Java classpath и classloading
package prueba.de.classpath;
import java.io.File;
import java.lang.reflect.Method;
import java.net.URL;
import java.net.URLClassLoader;
public class PruebaDeClasspath {
public static void main(String[] args) {
try {
Class.forName("PluginNumeroUno");
} catch (ClassNotFoundException e) {
System.out.println("Not Found");
}
try {
URLClassLoader classLoader = ((URLClassLoader) ClassLoader
.getSystemClassLoader());
Method metodoAdd = URLClassLoader.class.getDeclaredMethod("addURL",
new Class[]{URL.class});
metodoAdd.setAccessible(true);
File file = new File("plugins/PrimerPlugins.jar");
URL url = file.toURI().toURL();
System.out.println(url.toURI().toURL());
metodoAdd.invoke(classLoader, new Object[]{url});
} catch (Exception e) {
e.printStackTrace();
}
try {
Class.forName("PluginNumeroUno");
System.out.println("ok");
} catch (ClassNotFoundException e) {
System.out.println("Not Found");
}
}
}
Предоставьте свой текущий выход System.out консоли в вопрос – flakes
У меня возникает ощущение, что вы изобретаете колесо здесь. Именно поэтому вам нужно вручную загрузить jar-файл? 'java --classpath' не делает трюк? – Tobb