У меня есть JAR-файл, который содержит некоторый класс. Из этого JAR-файла я хочу запустить определенный класс, предположим, A.class
.
Во время выполнения я добавляю этот JAR-файл в свой код и извлекаю его содержимое.,Из извлеченной папки.После этого я создаю GroovyClassloader
и добавляю извлеченный путь к папке в classpath groovy classloader.После этого я загружаю A.class
с помощью Groovy Classloader.До этого кода у меня все работало нормально, но когда я пытаюсь создать экземпляр A.class
в то время, код бросает исключение fount класса для другого зависимого класса A.class
, т.е. если A.class
import B.class
чем во время создания экземпляра A.class
кода, выдается исключение B
класс не найден.Может быть потому, что загрузчик классов другой.
Может ли кто-нибудь подсказать мне, как решить эту проблему.
Мой код:
new UnZip().unZipIt(<groovy/jar/path>,</unzip/dir/path>);
GroovyClassLoader gcl = new GroovyClassLoader();
gcl.addClasspath(<unzip/dir/path>);
Class<?> klass = gcl.loadClass("A");
klass.newInstance();
PS: файл jar - это groovy, файл используется в коде java.