Хобрук: Ваш путь к мастерству в программировании

Как Eclipse устанавливает путь Native.loadLibrary?

Я унаследовал большой рабочий проект Java8, который необходимо перестроить. Он создает jar-файл, но также включает в себя пример main (не включенный в jar-файл) и глубокое дерево библиотек, включая некоторые файлы .dll глубоко в дереве libs/ (dll также НЕ< /strong> включены в банку).

В какой-то момент код в банке вызывает Native.loadLibrary("fti2x.dll", fti2xWrapper.class, параметры [Map‹ String, Integer>]) для простого имени файла "fti2x.dll" - без компонентов пути -- и загрузка прошла успешно. Эта .dll находится только глубоко в каталоге libs/ на моем компьютере. Как jar, работающий под eclipse, определил, что это находится в /libs/client/usb/CommLib/amd64/fti2x.dll, не указав путь к нему?

Если я скопирую только банку, основной пример и каталог libs/ в новый проект, как мне настроить его в Eclipse (Mars), чтобы найти .dll для вызова Native.loadLibrary? (Просто это не удается, поэтому мне не хватает некоторых настроек.)

Как мне выполнить main.class вне Eclipse и найти .dll?

Возможно, мне не хватает кода Java, который устанавливает этот путь? Если да, то что мне искать?

25.03.2016

Ответы:


1

Существует системное свойство, которое используется для указания пути, который JNA использует для поиска собственных библиотек: jna.library.path. Попробуйте распечатать его значение сразу после успешной загрузки библиотеки в старом проекте, чтобы увидеть, устанавливается ли оно.

Этот ответ объясняет, как установить системное свойство в конфигурации запуска Eclipse. Вне Eclipse укажите для него значение с помощью переключателя командной строки -D для JVM, например

java -Djna.library.path=<some path> YourMainClass
26.03.2016
Новые материалы

Решения DBA Metrix
DBA Metrix Solutions предоставляет удаленного администратора базы данных (DBA), который несет ответственность за внедрение, обслуживание, настройку, восстановление базы данных, а также другие..

Начало работы с Блум
Обзор и Codelab для генерации текста с помощью Bloom Оглавление Что такое Блум? Некоторые предостережения Настройка среды Скачивание предварительно обученного токенизатора и модели..

Создание кнопочного меню с использованием HTML, CSS и JavaScript
Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

Внедрите OAuth в свои веб-приложения для повышения безопасности
OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

Классы в JavaScript
class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

Как свинг-трейдеры могут использовать ИИ для больших выигрышей
По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

Как построить любой стол
Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...


© 2024 hobruk.ru, Хобрук: Ваш путь к мастерству в программировании