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

205

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

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

  • 1
    Я сделал это, добавив его в качестве аргумента VM, и это сработало. Как именно ты это сделал?
Теги:
configuration
buildpath

15 ответов

295
Лучший ответ

Не путайте путь к библиотеке! Eclipse строит его сам!

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

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

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

Изображение 6816

  • 0
    ОК, это похоже на работу. Теперь правильный путь отображается в сообщении об ошибке. необходимая библиотека не найдена: /Users/janusz/Documents/workspace/SlideSelector/lib/libOpenCV.jnilib. Файл находится именно в этом каталоге. Кажется, еще одна ошибка
  • 6
    Но как это работает, если вам нужно добавить более одной папки?
Показать ещё 12 комментариев
32

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

-Djava.library.path=blahblahblah...
  • 3
    Смотрите этот пост: stackoverflow.com/a/2309723/510583 . -Djava.library.path = "$ {workspace_loc: проект} \ Lib; $ {env_var: PATH}"
19

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

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

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

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

Window->
  Preferences->
    Java->
      Installed JREs

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

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

8

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

6

Просто добавьте файлы *.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"));
    }
}
  • 0
    Это будет означать, что каждый, кто использует ваш проект, также должен поместить их туда.
  • 0
    Спасибо за это. Идея поместить библиотеки DLL в c:/windows доказала мне, что это просто проблема пути, а не проблема с библиотеками DLL.
5

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

  • 0
    Какие? Почему это должно быть важно ..? O_o
5

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

Настройки проекта не будут исправлены.

  • 0
    тогда где мне нужно добавить параметры java.library.path?
4

Нажмите "Запустить" Нажмите "Отладка"...
Новое приложение Java
Перейдите на вкладку "Аргументы"
во втором поле (аргументы виртуальной машины) добавьте запись -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  

и т.д...

  • 1
    Также - в конфигурации запуска перейдите на вкладку «Общие» и выберите место в своем проекте для сохранения конфигурации запуска. Это позволяет вам зарегистрировать эту конфигурацию запуска (файл xxxx.launch), чтобы другие члены вашей команды могли ее повторно использовать.
  • 0
    Это единственное, что работало со мной, спасибо
3

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

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

    Path  <-  ${workspace_loc:name_of_the_project}\lib
  • 0
    Но, может быть, непосредственно аргумент -Djava.library.path машины -Djava.library.path на вкладке Аргументы ?
1

Я использую 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 - что это такое и как использовать

1

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

0

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

Моя система сборки (Gradle) добавила требуемую собственную библиотеку (dll) в путь сборки Eclipse (Щелкните правой кнопкой мыши по проекту → Свойства → Путь сборки Java → Библиотеки). Сообщая, что система сборки не добавляет библиотеку родной библиотеки DLL к пути класса Eclipse, проблема решена.

0

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

0

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

Затем щелкните по пути сборки java Изображение 6818

Изображение 6819

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню