Назначение java.library.path - PullRequest
       5

Назначение java.library.path

2 голосов
/ 16 ноября 2010

Возможно, это повторяющийся вопрос, но я сам что-то не нашел.

В основном у меня проблема с пониманием.

У меня есть приложение, которое прекрасно работает, когда я вызываю его следующим образом:

java -Duser.dir="some path" -Djava.library.path="pathToDLL1;pathToDLL2;pathToMyDir" classToCall par1

При вызове выше мое приложение будет запускаться и запускаться.

Моя проблема в понимании находится в каталоге pathToMyDir (содержимое этого каталога в основном содержит некоторые необходимые библиотеки DLL).

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

java -Duser.dir="some path" -Djava.library.path="pathToMyDir;pathToDLL1;pathToDLL2" classToCall par1

Я не уверен, что это из-за некоторых зависимостей, но я подумал, что java.library.path в основном используется для указания java, где искать внешние библиотеки. Или это неправильно? Есть ли скрытая информация о заказе?

1 Ответ

10 голосов
/ 16 ноября 2010

-Djava.library.path используется для указания на собственные системные библиотеки (файлы dll или около того). Он указывает на каталог и вызывает нативный код, который использует System.loadLibrary, ищите в этом каталоге нативные библиотеки.

Зависимости проекта (файлы JAR) должны быть указаны в пути к классам приложения, а не в этом месте.

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