Как установить java.library.path из Eclipse

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

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

16 ответов

Решение

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

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

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

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

Родное расположение библиотеки

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

-Djava.library.path=blahblahblah...

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

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

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

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

Window->
  Preferences->
    Java->
      Installed JREs

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

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

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

Просто добавьте файлы *.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"));
    }
}

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

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

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

Нажмите 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  

так далее...

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

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

    Path  <-  ${workspace_loc:name_of_the_project}\lib

Не забудьте включить собственную папку библиотеки в PATH.

Я использую Mac OS X Yosemite и Netbeans 8.02, у меня та же ошибка, и простое решение, которое я нашел, похоже на приведенное выше, это полезно, когда вам нужно включить собственную библиотеку в проект. Сделайте следующее для Netbeans:

1.- Right click on the Project
2.- Properties
3.- Click on RUN
4.- VM Options: java -Djava.library.path="your_path"
5.- for example in my case: java -Djava.library.path=</Users/Lexynux/NetBeansProjects/NAO/libs>
6.- Ok

Я надеюсь, что это может быть полезно для кого-то. Ссылка, где я нашел решение, находится здесь: java.library.path - что это такое и как использовать

Вот еще одно исправление:

Моя система сборки (Gradle) добавила требуемую собственную библиотеку (dll) в путь сборки Eclipse (щелкните правой кнопкой мыши на Project -> Properties -> Java Build Path -> Libraries). Указание системе сборки не добавлять нативную библиотеку dll в путь к классам Eclipse решило проблему.

Иногда мы не получаем Java Build Path, щелкнув правой кнопкой мыши по проекту. затем перейдите в свойства.... Щелкните правой кнопкой мыши и перейдите к свойствам

Затем нажмите на путь сборки JavaСвойства Scrren

Нажмите на кнопку добавить внешнюю банку

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

Вы можете добавить аргумент vm в свое затмение.

Пример: -Djava.ext.dirs=cots_lib

где cots_lib - это ваша библиотека внешних папок.

Самый простой способ - использовать саму IDE затмения. Зайдите в меню и установите путь сборки. Укажите его путь к файлу JAVA JDK и JRE в вашем каталоге. после этого вы можете проверить путь сборки, где будут установлены скомпилированные файлы. в папке bin по умолчанию, хотя. Лучше всего было бы позволить eclipse самостоятельно обрабатывать путь сборки и редактировать его только так, как описано выше.

Другие вопросы по тегам