Kiedy wypisuję ścieżkę w bash, drukuje to:
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
Kiedy uruchamiam System.out.println (System.getenv („PATH”)); w Javie działającej pod Eclipse, drukuje
/usr/bin:/bin:/usr/sbin:/sbin
Jak mogę dowiedzieć się, dlaczego występuje taka rozbieżność? Muszę dodać / usr / local / bin do PATH i udostępnić go aplikacjom Java pod Eclipse. (uwaga: nie wprowadziłem żadnych modyfikacji ścieżek systemowych, więc są to ustawienia domyślne ustawione przez system operacyjny lub być może jedną lub więcej zainstalowanych aplikacji).
Dla tych, którzy szukają odpowiedzi po latach (Neon, Tlen):
Niektóre narzędzia mojego węzła i narzędzia kątowe / kątowe2 w środowisku Eclipse zawiodły z powodu braku wpisów $ PATH w terminalu MacOS. Twoje oprzyrządowanie prawdopodobnie wykorzystuje wbudowany terminal eclipse, który nie zaczyna zapewniać powłoki logowania / użytkownika. Musisz więc ustawić terminal zaćmienia w swoich preferencjach zaćmienia, aby zaczynał jako powłoka --login w celu uwzględnienia ustawień PATH użytkowników:
Iść do:
i nastaw
Arguments
do:--login
otwórz nowy Terminal w Eclipse, a odtąd $ PATH użytkownika powinna być używana. Również wszystko, co skonfigurowałeś w ~ / .bash_profile, będzie działać podczas otwierania nowego terminala w Eclipse.
źródło
Miałem ten sam problem. Oto moje rozwiązanie:
Edytuj
/etc/paths
plik, aby uwzględnić żądaną dodatkową ścieżkę.W przypadku instalacji OSX nie uruchamiaj
/Applications/eclipse/eclipse
/Applications/eclipse/Eclipse.app
źródło
/etc/paths
to pełna ścieżka do pliku. Możesz zrobić Cmd + Shift + G, a następnie wstawić „/ etc” i nacisnąć enter / return. Musisz tam znaleźć plik o nazwie „ścieżki”.Aha, znalazłem tę stronę, która mówi
Czy jest to właściwa / nieodpowiednia rzecz do zrobienia? Nie potrafię edytować plików systemowych, chyba że naprawdę wiem, co robię. / usr / local / bin można zapisać tylko przez root, więc nie otworzyłbym dziury w zabezpieczeniach, prawda?
Dziwne, dodałem ścieżkę eksportu i nie ma to wpływu na zaćmienie uruchamiane z Docka. Znalazłem też tę stronę o ścieżkach i mój plik / etc / paths ma
a jednak te ścieżki nie pokazują się w zaćmieniu ... czy istnieje prosty sposób na utworzenie / znalezienie pliku binarnego, który wypisuje $ PATH, który mógłbym uruchomić z Docka, aby łatwiej było to debugować? Nie wiem, czy Eclipse kręci się wokół ścieżki.
źródło
/usr/local/bin
użytkowników$PATH
. (Zobacz tutaj .)Jeśli korzystasz z Eclipse (testowany z „Mars”), możesz zmienić „Uruchom konfigurację”:
Teraz Eclipse używa tych samych wartości zmiennej środowiskowej PATH, co twój system. Pamiętaj: dotyczy to tylko wybranej konfiguracji uruchamiania.
Jak już wspomniano w pytaniu, sprawdź w Javie za pomocą:
źródło
Najprawdopodobniej jeden ze skryptów logowania bash (
.bashrc
lub.bash_profile
) się zmienia$PATH
. Jeśli uruchomisz Eclipse z terminala, czy wejdzie on/usr/local/bin
na swoją ścieżkę?źródło
Ta wskazówka powyżej działa dla mnie: 1) dodaj ścieżkę do / etc / paths jako root 2) uruchom eclipse za pomocą $ ECL_HOME / Eclipse.app / Contents / MacOS / eclipse zamiast $ ECL_HOME / Eclipse.app
źródło
Alternatywnie możesz po prostu dodać symboliczny link do
/usr/local
katalogu wskazujący na twoją aplikację.Np. Wykonaj jako
root
:Pomogło mi to uruchomić (test mvn) zewnętrzną aplikację PhantomJS z projektu Maven w Eclipse.
źródło
$PATH
katalogami . Czy możesz wyjaśnić bardziej szczegółowo?$PATH
/usr/local/bin
Możesz zmodyfikować globalną ścieżkę OSX, dodając linię
/etc/launchd.conf
i ponownie uruchamiając komputer.Działa w OSX 10.8 i 10.9
/server/16355/how-to-set-global-path-on-os-x/277034#277034
źródło
Eclipse NEON, Mac OS X 10.11.6
Terminal w Eclipse nie można użyć
mvn
polecenia. (I zrobić jeden miękki ogniwomvn
w/usr/local/bin
)Rozwiązanie tymczasowe:
Kliknij prawym przyciskiem myszy
/Applications/eclipse
-> pokaż zawartość pakietu -> zawartość -> MacOS -> kliknij dwukrotnie,eclipse
aby rozpocząć.Uruchom Eclipse w ten sposób, Eclipse może wykryć wszystkie ustawienia ścieżki, a następnie mogę teraz użyć
mvn
polecenia w terminalu Eclipse.Możesz kliknąć prawym przyciskiem myszy
eclipse
ten folder i utworzyć alias, aby wygodnie go uruchomić.Nie wiem dlaczego teraz. Myślę, że to powinien być jeden BŁĄD zaćmienia.
źródło
edytuj,
~/.bash_profile
aby uwzględnić ścieżkęzamiast uruchamiać się w starterze,
otwórz terminal i uruchom go jako
To załatwiło sprawę.
źródło
Łącząc kilka odpowiedzi i aktualizując do czegoś łatwego:
To nie tylko otworzy poręczne okno terminala pokazujące nieprzetworzone dane wyjściowe Eclipse, ale także automatycznie przyjmie ścieżkę ustawioną w powłoce logowania.
Tak więc można użyć dowolnego z normalnych metod, aby ustawić ścieżkę (edytowanie
/etc/paths
lub~/.bash_profile
czy po prostu zainstalowanie dobrze zachowujący się jak narzędzie wiersza poleceniambed
), a martwić się dalej. Jeśli możesz zadzwonić z terminala, Eclipse może to również wywołać.źródło