Если вы хотите установить переменную всей системы в OSX, вам нужно поместить ее в файл ~ / .MacOSX / environment.plist.
Смотрите эту страницу на сайте Apple для более подробной информации.
Когда я печатаю путь в bash, он печатает это:
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
Когда я запускаю System.out.println (System.getenv ("PATH")); в Java работает под Eclipse, он печатает
/usr/bin:/bin:/usr/sbin:/sbin
Как я могу понять, почему существует это несоответствие? Мне нужно добавить / usr / local / bin в PATH и сделать его доступным для приложений Java в Eclipse. (примечание: я не вносил изменений в системные пути, поэтому это настройки по умолчанию, установленные ОС или, возможно, одним или несколькими установленными мной приложениями.)
Если вы хотите установить переменную всей системы в OSX, вам нужно поместить ее в файл ~ / .MacOSX / environment.plist.
Смотрите эту страницу на сайте Apple для более подробной информации.
Была такая же проблема. Вот мое решение:
Отредактируйте /etc/paths
файл, чтобы включить желаемый дополнительный путь.
Для установки OSX не запускайте/Applications/eclipse/eclipse
/Applications/eclipse/Eclipse.app
Для тех из вас, кто ищет ответ спустя годы (Neon, Oxygen):
Некоторые из моих узлов и инструментов angular / angular2 в eclipse завершились неудачно из-за отсутствия записей $ PATH в терминале MacOS. В вашем инструменте, вероятно, используется встроенный терминал Eclipse, который не начинает предоставлять вашу учетную запись / оболочку пользователя. Таким образом, вам нужно настроить терминал eclipse в настройках eclipse, чтобы он запускался как --login shell, чтобы включать настройки PATH ваших пользователей:
Идти к:
Preferences -> Terminal -> Local Terminal
и установить
Arguments
чтобы: --login
откройте новый Терминал в Eclipse, и теперь следует использовать $ PATH вашего пользователя. Также все, что вы настроили в ~ / .bash_profile, будет работать при открытии нового терминала в Eclipse.
Ага, я нашел эту страницу, которая говорит
Примечание. Mac OS X не включает / usr / local / bin в путь PATH по умолчанию. Поэтому, предполагая, что вы используете оболочку bash по умолчанию, введите (или включите в / etc / profile) export PATH = / usr / local / bin: $ PATH перед использованием любого из этих инструментов.
Это уместно / неуместно? Я начинаю подозревать, что редактировать системные файлы, если я действительно не знаю, что я делаю. / usr / local / bin доступен для записи только пользователю root, поэтому я не буду открывать дыру в безопасности, не так ли?
Странно, я добавил путь экспорта, и он не влияет на запуск затмения из дока. Также я нашел эту страницу о путях, и мой файл / etc / paths имеет
/usr/bin /bin /usr/sbin /sbin /usr/local/bin
и тем не менее эти пути не отображаются в Eclipse ... Есть ли простой способ создать / найти двоичный файл, который печатает $ PATH, который я мог бы запустить из Dock, чтобы мне было легче отлаживать это? Я не знаю, затмевает ли «Затмение» путь.
If you are on Eclipse (tested with "Mars"), you could change your "Run Configuration":
Now Eclipse uses the same values for the PATH environment variable as your system does. Remember: This is only true for the run configuration you chose.
As already noted in your question, check in Java with:
System.getenv();
Скорее всего, один из ваших сценариев входа в bash ( .bashrc
или .bash_profile
) меняется $PATH
. Если вы запустите Eclipse из терминала, он встанет /usr/local/bin
на своем пути?
Этот совет выше работает для меня: 1) добавить путь к / etc / paths как root 2) запустить eclipse с $ ECL_HOME / Eclipse.app / Contents / MacOS / eclipse вместо $ ECL_HOME / Eclipse.app
В качестве альтернативы вы можете просто добавить в /usr/local
каталог символическую ссылку, указывающую на ваше приложение.
Например, сделать как root
:
ln -s /Applications/PhantomJS/phantomjs-1.9.2-macosx/bin/phantomjs / usr / local / phantomjs
Это помогло мне запустить (mvn test) внешнее приложение PhantomJS из проекта Maven в Eclipse.
Вы можете изменить глобальный путь к osx, добавив строку /etc/launchd.conf
и перезагрузив компьютер.
setenv PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Работает в OSX 10.8 и 10.9
https://serverfault.com/questions/16355/how-to-set-global-path-on-os-x/277034#277034
Eclipse NEON, Mac OS X 10.11.6
Терминал в Eclipse не может использовать mvn
команду. (Я делаю одну мягкую ссылку mvn
в /usr/local/bin
)
Временное решение:
Щелкните правой кнопкой мыши /Applications/eclipse
-> показать содержимое пакета -> содержимое -> MacOS -> дважды щелкните, eclipse
чтобы начать.
Запустите Eclipse таким образом, Eclipse может обнаружить все настройки пути, а затем я могу использовать mvn
команду в терминале Eclipse.
Вы можете щелкнуть правой кнопкой мыши eclipse
в этой папке и сделать псевдоним, чтобы запустить его удобно.
Я не знаю почему сейчас. Я думаю, что это должно быть одно ошибка затмения.