Как установить java.library.path для всего проекта Eclipse? Я использую библиотеку Java, которая опирается на конкретные файлы ОС и должна найти .dll/.so/.jnilib. Но приложение всегда выходит с сообщением об ошибке, что эти файлы не найдены на пути к библиотеке.
Я хотел бы настроить весь этот проект на использование пути к библиотеке. Я попытался добавить путь в качестве аргумента VM для некоторых конфигураций запуска в eclipse, но это не сработало.
Не путайте путь к библиотеке! Eclipse строит его сам!
Вместо этого перейдите в настройки библиотеки для своих проектов, и для каждой банки /etc, которая требует встроенную библиотеку, разверните ее на вкладке "Библиотеки". В древовидной структуре в каждой библиотеке есть элементы для исходных /javadoc и локальных библиотек.
В частности: выберите Project
, щелкните правой кнопкой мыши → Свойства/вкладка "Путь/Библиотеки компоновки Java", выберите .jar, разверните его, выберите "Место нативной библиотеки", нажмите "Изменить", откроется диалоговое окно выбора папки)
Взаимодействие с пути библиотеки в командной строке должно быть вашим последним усилием в канаве, потому что вы можете сломать то, что уже правильно установлено eclipse.
Если вы добавляете его как аргумент VM, убедитесь, что вы его префикс -D
:
-Djava.library.path=blahblahblah...
Кроме способа, описанного в утвержденном ответе, существует другой способ, если в вашем проекте есть отдельные собственные библиотеки.
Для запуска данного приложения вы можете сделать это, как говорит Джим.
Если вы хотите установить его для всего рабочего пространства, вы также можете установить его под
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"));
}
}
c:/windows
доказала мне, что это просто проблема пути, а не проблема с библиотеками DLL.
Ни один из вышеперечисленных решений не работал у меня (Eclipse Juno с JDK 1.7_015). Java может найти библиотеки только тогда, когда я переместил их из project_folder/lib в project_folder.
Я думаю, есть еще одна причина, по которой нужно установить java.library.path. Subversion поставляется со многими библиотеками, и Eclipse не увидит их, если java.library.path не может быть добавлен. Например, я на OS-X, поэтому библиотеки находятся под \opt\subversion\lib. Их много, и я хотел бы хранить их там, где они есть (не копировать их в стандартный каталог lib).
Настройки проекта не будут исправлены.
Нажмите "Запустить"
Нажмите "Отладка"...
Новое приложение 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
и т.д...
Другим решением было бы открыть "run configuration", а затем на вкладке "Environment" установить пару {Path, Value}.
Например, чтобы добавить каталог "lib", расположенный в корне проекта,
Path <- ${workspace_loc:name_of_the_project}\lib
-Djava.library.path
машины -Djava.library.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 - что это такое и как использовать
Не забудьте включить папку родной библиотеки в PATH.
Вот еще одно исправление:
Моя система сборки (Gradle) добавила требуемую собственную библиотеку (dll) в путь сборки Eclipse (Щелкните правой кнопкой мыши по проекту → Свойства → Путь сборки Java → Библиотеки). Сообщая, что система сборки не добавляет библиотеку родной библиотеки DLL к пути класса Eclipse, проблема решена.
Самый простой способ - использовать Eclipse IDE. Перейдите в меню и установите путь сборки. Укажите его путь к файлу JAVA JDK и JRE в вашем каталоге. впоследствии вы можете проверить путь сборки, в котором будут установлены скомпилированные файлы. в папке bin по умолчанию. Лучше всего было бы позволить eclipse обрабатывать сам путь сборки и только редактировать его аналогично решению, которое приведено выше
Когда-нибудь мы не получим Java Build Path, щелкнув правой кнопкой мыши по проекту. затем перейдите к свойствам....
Затем щелкните по пути сборки java
На вкладке добавьте внешние банки и укажите путь к файлу вашего компьютера, где у вас есть банки.