Подтвердить что ты не робот

Как добавить внешний файл jar в ClassPath Динамически во время выполнения?

Я хочу добавить файл jar в свой класс классов объектов динамически, используя java-код, если это возможно, я хочу использовать внешние файлы jar и загружать их классы, чтобы выполнить их как Beans позже (Spring framework).

Спасибо:)

4b9b3361

Ответ 1

URLClassLoader child = new URLClassLoader (myJar.toURL(), this.getClass().getClassLoader());
Class classToLoad = Class.forName ("com.MyClass", true, child);
Method method = classToLoad.getDeclaredMethod ("myMethod");
Object instance = classToLoad.newInstance ();
Object result = method.invoke (instance);

Источник: fooobar.com/questions/1708/...

Ответ 2

Вы можете попробовать что-то вроде этого, но это требует, чтобы вы знали, где именно находится ваш JARs.

URLClassLoader cl = URLClassLoader.newInstance(new URL[] {myJarFiles});
Class myClass = cl.loadClass("com.mycomp.proj.myclass");
Method printMeMethod = myClass.getMethod("printMe", new Class[] {String.class, String.class});
Object myClassObj = myClass.newInstance();
Object response = printMeMethod.invoke(myClassObj, "String1", "String2");