0

Я пытался найти причину, по которой мое приложение Java не использует переменную среды PATH по умолчанию. Мне нужно, чтобы запустить другую программу с ProcessBuilder. Прямо сейчас я получаю «Cannot run program "..." error=2, No such file or directory», хотя я могу запустить эту программу с терминала. Я использую JDK 1.8, Netbeans 8.1, OS X.Приложение Java не использует правильную переменную среды PATH

Вот выход System.out.println(System.getenv("PATH"));: /usr/bin:/bin:/usr/sbin:/sbin

Фактическое значение PATH в терминале (с помощью echo $PATH) намного длиннее и содержит пути к желаемые исполняемые файлы.

Я нашел несколько вопросов, касающихся одного и того же предмета, но ни один из них не помог мне в этом.

Любая помощь оценена!

+0

Как вы запускаете свою программу? –

+0

Еще в стадии разработки, поэтому я использую проект Netbeans - Run. Должен ли я запускать его без IDE? –

+0

Да. Это может быть Netbeans, устанавливающая переменную PATH. –

ответ

0

PATH создан любой раковиной, в которой вы работаете, но ProcessBuilder не работает в оболочке и, следовательно, нет приложения PATH для решения ваших имен программ. Вы можете предоставить среду ProcessBuilder, но не верьте, что это позволит вам найти вашу программу, находящуюся в PATH. В проекте шахты я должен был обеспечить полный путь]

[Примечание:.. Пробег может меняться, я, кажется, помню, несколько иные результаты между Windows и * Никс, и между различными * XIX]

Смежные вопросы