Ответы пользователя по тегу C++
  • Трабл в получении Java-классов java-библиотеки в нативном коде посредством Jni?

    makkarpov
    @makkarpov
    Вполне возможно, что из-за ClassLoader-ов, ведь это проявляется даже без JNI. В Java-коде такой класс тоже не будет найден, пока не будет явно указан ClassLoader (Class.forName(«package.Class», true, myLoader)).
    Если я не ошибаюсь, то System.loadLibrary() загружает либу в контексте того класслоадера, который загрузил класс, вызывавший эту функцию. Так что вполне возможно, ваша J-либа и ваш основной код были загружены из разных класслоадеров, и System.loadLibrary был вызван из класслоадера с кодом — тогда библиотека не найдет JNI-методы, а JNI — не найдет библиотеку.
    Ответ написан
    5 комментариев