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