Ошибка Java - не удается найти библиотеку в java.library.path? - PullRequest
3 голосов
/ 25 августа 2011

Я получаю сообщение об ошибке, подобное этому:

Библиотека имя библиотеки .dll не может быть загружена Windows. Делать убедитесь, что библиотека находится в вашей переменной среды Path. исключение в потоке "main" java.lang.UnsatifiedLinkError: нет имя библиотеки в java.library.path.

Эта ошибка от того, что я пытался запустить jar-файл в Windows XP через cmd. Мне интересно, где именно находится java.library.path? Я уже добавил C: \ Program Files \ Java \ jdk1.6.0_26 в мой PATH, но он все равно выдает ошибку. Как бы вы пошли об отладке этого?

Спасибо.

Ответы [ 2 ]

7 голосов
/ 25 августа 2011

Вы можете просто передать java.library.path в качестве системного свойства, как показано ниже:

java -Djava.library.path=<path_to_dll> <main_class>

Сначала вам нужно выяснить, где находится libraryname.dll и добавить его выше в "path_to_dll".

3 голосов
/ 25 августа 2011

Ошибка в основном говорит о том, что он не может найти ваши нативные библиотеки. Java пытается найти вашу библиотеку, просматривая свойство java.library.path

Это системная среда, которая вам нужна, чтобы Java могла находить ваши собственные библиотеки при запуске приложения. Несколько способов сделать это:

  • Используйте java -Djava.library.path = [путь к вашей библиотеке] при запуске вашей программы
  • Из кода вы также можете сделать.

    
    System.setProperty( "java.library.path", "/path/to/libs" );
    
  • Настройте его из вашей IDE. Пример для Eclipse можно найти в этом вопросе SO Как установить java.library.path из eclipse

РЕДАКТИРОВАТЬ: Хороший комментарий ниже указал, что # 2 не будет работать 100%, потому что вы можете не установить это до вызова getProperty (). Пропустил этот пункт и спасибо за указание на это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...