Страницы

Поиск по вопросам

вторник, 17 декабря 2019 г.

Загрузка классов в Java. Написание собственного загрузчика классов

#java #классы #maven #classloader


Я хочу загружать классы из подключенного, собственного, написанного jar-файла, к проекту.

Конкретно где я хочу это применить.
Многомодульное приложение. У меня есть три модуля,к примеру A.war B.war C.jar. Где
A и B являются родительскими модулями для С. Так вот что бы мне исключить модуль С
я хочу загружать из него классы собственным загрузчиком классов.
Как возможно такое реализовать?
    


Ответы

Ответ 1



Как говорили в комментариях, есть класс URLClassLoader. Конструктор принимает в качестве параметра массив URL адресов до jar файлов. URL[] classLoaderUrls = new URL[]{new URL("./somestuf.jar")}; URLClassLoader urlClassLoader = new URLClassLoader(classLoaderUrls); А вот работать с этим не совсем удобно: Загрузка класса Class beanClass = urlClassLoader.loadClass("ex.coolStuf.Stuf"); Создание объекта класса Constructor constructor = beanClass.getConstructor(); Object beanObj = constructor.newInstance(); Вызов метода Method method = beanClass.getMethod("sayHello"); method.invoke(beanObj);

Комментариев нет:

Отправить комментарий