Re: JNI С++ -> Java
От: devcoach  
Дата: 17.01.15 20:57
Оценка:
Здравствуйте, Didi, Вы писали:

D>Использую JNI для вызова Java.

D>JNI_CreateJavaVM возвращает JNIEnv, получить класс из него не могу (FindClass возвращает ноль), то ли строку с названием класса неправильно формирую, или опции для вызова JNI_CreateJavaVM неправильно сформировал. Можно как-то понять, что загрузилось в JNIEnv, получить полный список классов или загруженных модулей?
jclass cls = env->FindClass(...);

if (env->ExceptionCheck()) {
env->ExceptionDescribe(); // Отпечатает вам эксепшн со стэком в консоль.
}

Понять "что загрузилось" в JNIEnv нельзя. Единственный способ — приаттачить тред, и потом через тот же JNI дергать какие-нибудь managed-бины, системные свойства ("java.classpath"), класслоадеры, и т.д.. Но для этого вам надо FindClass еще с десяток раз вызвать будет, а вы пока с одним совладать не можете.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.