Давайте создадим приложение на Groovy / Java, которое должно использовать набор классов, определенных во внешних *.jar
-файлах (предположим, они расположены рядом с основным исполняемым файлом jar).
Итак, основной класс(давайте назовем его Main
) должен загрузить plugin.jar
файл во время выполнения и вызвать некоторый метод экземпляра для класса, определенного в этом jar (для некоторых соглашений, предположим, что класс имеет имя как jar - Plugin
в нашемcase).
Класс Main
не может знать, какие плагины он имеет, пока он не будет запущен.Давайте отбросим аргументы CLASSPATH
и java -jar
run и просто сделаем магию только с кодом.
Итак, как это можно сделать и как создать plugin.jar
(используя Eclipse в моем случае) для того, чтобы быть правильно загруженным?
PS: да, я собираю мои отличные исходники в файл jar.Но мне нужно выполнить загрузку классов и запускать их точно на лету.