Имеется десктопное приложение написанное на джаве которое состоит из: main.jar, app.jar, lib1.jar, lib2.jar...
Приложение стартует с main.jar и загружает app.jar (само приложение и его функционал) и дополнительные библиотеки. Загружается app.jar следующим образом
Class<?> clasz = classLoader.loadClass("some.class.to.load.from.app.jar");
jsize count;
if ( JNI_GetCreatedJavaVMs( &mc->m_jvm, 1, &count ) != JNI_OK || count == 0 ) {
return;
}
jint res = mc->m_jvm->GetEnv( ( void ** ) &mc->m_jenv, JNI_VERSION_1_6 );
if ( res == JNI_EDETACHED ) {
res = mc->m_jvm->AttachCurrentThread( ( void ** ) &mc->m_jenv, nullptr );
}
if ( res != JNI_OK ) {
return;
}
jclass classs = mc->m_jenv->FindClass("some/class/from/main/jar");
Таким образом я могу получить доступ к классам, методам и т.д, однако только в пределах main.jar
jclass classs = mc->m_jenv->FindClass("some/class/from/app/jar");
В этом случае findclass возвращает null.
Вопрос в следующем, как получить доступ к классам из app.jar?