Как установить java.library.path из Eclipse - PullRequest
204 голосов
/ 05 июня 2009

Как я могу установить java.library.path для всего проекта Eclipse? Я использую библиотеку Java, которая опирается на определенные файлы ОС и должна найти .dll / .so / .jnilib. Но приложение всегда выходит с сообщением об ошибке, что эти файлы не найдены в пути к библиотеке.

Я бы хотел настроить весь этот проект на использование пути к библиотеке. Я пытался добавить путь в качестве аргумента виртуальной машины в некоторые конфигурации запуска в eclipse, но это не сработало.

Ответы [ 16 ]

289 голосов
/ 06 июня 2009

Не связывайтесь с путем к библиотеке! Затмение строит сам!

Вместо этого перейдите в настройки библиотеки для своих проектов и, для каждого jar / etc, для которого требуется собственная библиотека, разверните ее на вкладке Библиотеки . В древовидном представлении у каждой библиотеки есть элементы для исходного / javadoc и нативного расположения библиотеки.

В частности: выберите Project, щелкните правой кнопкой мыши -> Свойства / Путь сборки Java / Библиотеки , выберите вкладку .jar, разверните ее и выберите Собственное расположение библиотеки , нажмите Редактировать , появится диалоговое окно выбора папки)

В последнюю очередь вы должны вмешаться в путь к библиотеке в командной строке, потому что вы можете сломать что-то, что уже правильно настроено eclipse.

Native library location

35 голосов
/ 05 июня 2009

Если вы добавляете его в качестве аргумента виртуальной машины, убедитесь, что вы добавили префикс -D:

-Djava.library.path=blahblahblah...
22 голосов
/ 04 августа 2011

Кроме способа, описанного в утвержденном ответе, есть и другой способ, если в вашем проекте есть отдельные нативные библиотеки.

  • в свойствах проекта-> Java Build Path-> вкладка "Source" есть список ваших исходных папок
  • Для каждой записи есть «Места расположения собственных библиотек», которые также поддерживают пути в рабочей области.
  • Это заставит Eclipse добавить его в ваш java.library.path.
11 голосов
/ 06 июня 2009

Для запуска данного приложения вы можете сделать это, как говорит Джим.

Если вы хотите установить его для всего рабочего пространства, вы также можете установить его в

Window->
  Preferences->
    Java->
      Installed JREs

Каждая JRE имеет «Аргументы VM по умолчанию» (которые, я считаю, полностью игнорируются, если для конфигурации запуска установлены какие-либо аргументы VM).

Вы можете даже настроить разные JRE / JDK с разными параметрами, и некоторые проекты используют один, другие проекты используют другой.

8 голосов
/ 24 апреля 2011

Вы можете просто добавить -Djava.library.path=yourPath к eclipse.ini.

6 голосов
/ 03 мая 2011

Просто добавьте файлы * .dll в ваш c: / windows

Вы можете получить java.library.path из следующих кодов: и затем добавить свои dll-файлы по любому пути, который вы получите

import java.util.logging.Logger;

public class Test {


    static Logger logger = Logger.getLogger(Test.class.getName());
    public static void main(String[] args) {
    logger.info(System.getProperty("java.library.path"));
    }
}
5 голосов
/ 14 мая 2013

Ни одно из приведенных выше решений не сработало для меня (Eclipse Juno с JDK 1.7_015). Java могла найти библиотеки только тогда, когда я переместил их из project_folder / lib в project_folder.

5 голосов
/ 10 сентября 2011

Я думаю, что есть еще одна причина для того, чтобы установить java.library.path. Subversion поставляется со многими библиотеками, и Eclipse не увидит их, если не будет добавлен java.library.path. Например, я на OS-X, поэтому библиотеки находятся в \ opt \ subversion \ lib. Их много, и я бы хотел сохранить их там, где они есть (не копировать их в стандартный каталог lib).

Настройки проекта не исправят это.

4 голосов
/ 05 июня 2009

Нажмите Run
Нажмите Отладка ...
Новое Java-приложение
Нажмите вкладку Аргументы
во 2-й ящик (VM Arguments) добавьте запись -D

-Xdebug -verbose:gc -Xbootclasspath/p:jar/vbjorb.jar;jar/oracle9.jar;classes;jar/mq.jar;jar/xml4j.jar -classpath -DORBInitRef=NameService=iioploc://10.101.2.94:8092/NameService  

и т.д ...

3 голосов
/ 23 января 2013

Другим решением было бы открыть «запустить конфигурацию», а затем на вкладке «Среда» установить пару {Path, Value}.

Например, чтобы добавить каталог 'lib', расположенный в корне проекта,

    Path  <-  ${workspace_loc:name_of_the_project}\lib
...