Здравствуйте, ·, Вы писали:
·>Здравствуйте, Pavel Dvorkin, Вы писали:
PD>> ·>Так ведь тут не приаттачиться к VM из "главного" приложения и догрузить туда еще пачку JAR, а создать новый класслоадер с новыми источниками классов. Разница принципиальная.
PD>> Ну и что ? Надо как-то из C/C++ библиотеки/плугина вызывать некий метод из java класса, а он пусть делает то, что в
·>Ну в общем да. Это я и сказал в самом начале: "При регистрации плагина, ему нужно давать какой-то интерфейс, который они могут позвать с целью создания своего класслоадера с нужными источниками классов и т.д.". Т.е. плагин должен просто подёргать некие java-методы, как обычно. Загрузка классов никакого отношения к сабж не имеет.
Не имеет. Это потом этот метод и должен делать.
PD>> Надо новый класслоадер делать — пусть делает, какая разница ?
·>Что это ничего в classpath VM не догружает. Это такой специальный system classpath, иммутабельный.
Да ради бога, не имеет значения. Важно, что можно в конечном счете сделать то, что нужно ТС.
PD>> ·>"Ну может, тогда и не нужен GetJavaVM" — верно, что я сразу и сказал.
PD>> Я в первом же ответе написал, что отнюдь не специалист по JNI. И то, что JNIEnv передается в любой метод, я просто не знал. Если так, то все еще проще.
·>Именно. Поэтому твои рекомендации использовать GetJavaVM не в ту степь.
Равно как и твои насчет версий JDK
.
PD>> Там неверно ?
·>Верно, но к JNI никакого отношения не имеет.
В общем, похоже, мы говорим об одном и том же. Суть от этого не меняется. Про то, что JVM не нужна — уже написал раньше.
Сама задача , видимо, решается.
С остальным пусть ТС сам разбирается. Думаю, мы вдвоем дали ему достаточно материала для дальнейших изысканий.