Как установить 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
Я использую 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
Нажмите на вкладку добавить внешние банки и укажите путь к файлу вашего компьютера, где вы сохранили банки.
Вы можете добавить аргумент vm в свое затмение.
Пример: -Djava.ext.dirs=cots_lib
где cots_lib - это ваша библиотека внешних папок.
Самый простой способ - использовать саму IDE затмения. Зайдите в меню и установите путь сборки. Укажите его путь к файлу JAVA JDK и JRE в вашем каталоге. после этого вы можете проверить путь сборки, где будут установлены скомпилированные файлы. в папке bin по умолчанию, хотя. Лучше всего было бы позволить eclipse самостоятельно обрабатывать путь сборки и редактировать его только так, как описано выше.