Как указать LD_LIBRARY_PATH (или PATH) для каждого проекта в Netbeans? - PullRequest
4 голосов
/ 28 декабря 2011

Чтобы загрузить .DLL (под Windows) или .SO (под Linux), мы должны использовать переменные окружения PATH (Windows) или LD_LIBRARY_PATH (Linux).

Единственный способ найти правильное использование DLL и SO - это определить переменные среды перед запуском NetBeans.

  1. Есть ли способ указать эти переменные среды внутри Netbeans?
  2. Можно ли указать это внутри проекта свойства? Таким образом, у каждого проекта могут быть свои определения.
  3. есть ли способ просто добавить эти переменные окружения вместо того, чтобы просто переопределить их?

Справочная информация: мы разрабатываем программу на Java, которая использует JNI для доступа к собственным библиотекам. Эти нативные библиотеки, в свою очередь, получают доступ к другим зависимым нативным библиотекам. Из-за этого просто установка свойства "java.library.path" не работает, так как нам нужно также установить полный LD_LIBRARY_PATH (или обычный PATH в случае Windows).

За пределами NetBeans приложение работает нормально, потому что мы устанавливаем переменные среды внутри сценариев оболочки.

Мы не хотим просто помещать библиотеки DLL или SO в обычные системные каталоги, потому что мы не хотим путаться с установкой операционной системы во время разработки. Кроме того, нам нужна гибкость, позволяющая любому разработчику просто получить проект из системы управления версиями (Mercurial) и иметь все относительные пути, которые просто работают.

Уже есть хак переполнения стека для программной установки переменных среды в Java . Однако мы ищем менее хакерское решение.

1 Ответ

0 голосов
/ 09 августа 2013

Вы можете переопределить задачи скрипта Ant, которые NetBeans использует в файле build.xml (или отредактировать его непосредственно в полном скрипте в nbproject/build-impl.xml, но не рекомендуется).

Java-задача используется для цели run. Вы можете использовать параметр env, чтобы указать переменные среды для процесса, который будет запускать JVM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...