Я пытаюсь сделать простое приложение, которое загружает и запускает некоторые классы во время выполнения. Например, допустим, у меня есть этот конфиг:
module1.classpath=module1.jar,somelibs1.jar
module1.class=com.blabla.Module1
module2.classpath=module2.jar,somelibs2.jar
module2.class=com.blabla.Module2
Затем мне нужно загрузить библиотеки, указанные в module1.classpath
, и запустить module1.class
с загруженными библиотеками. После этого мне нужно загрузить module2.classpath
и запустить module2.clas
s с этими библиотеками.
Как мне справиться со случаем, когда somelibs1.jar
и somelibs2.jar
имеют внутри одинаковые классы? В основном я хотел бы запустить module1.jar
, используя исключительно somelibs1.jar
и module2.jar
, используя исключительно somelibs2.jar
. Как мне это реализовать?
Полагаю, мне нужно создать отдельный загрузчик классов для каждого из моих классов и вставить банки в эти загрузчики классов. Однако я был бы признателен за пример или хотя бы подтверждение того, что это правильный способ сделать это.