Задать вопрос
@coaloaf

Почему findclass не находит классы?

Имеется десктопное приложение написанное на джаве которое состоит из: 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?
  • Вопрос задан
  • 117 просмотров
Подписаться 1 Сложный Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы