Ошибка Java - не удается найти библиотеку в java.library.path?
Я получаю сообщение об ошибке, подобное этому:
Библиотека имя библиотеки.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 ответа
Вы можете просто передать java.library.path как системное свойство, как показано ниже:
java -Djava.library.path=<path_to_dll> <main_class>
Сначала вам нужно выяснить, где находится libraryname.dll, и добавить его выше в "path_to_dll".
Ошибка в основном говорит, что он не может найти ваши нативные библиотеки. 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(). Пропустил этот момент и спасибо за указание на это.