Wenn ich den Pfad in Bash ausdrucke, wird Folgendes ausgegeben:
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
Wenn ich System.out.println (System.getenv ("PATH")) ausführe; In Java, das unter Eclipse ausgeführt wird, wird gedruckt
/usr/bin:/bin:/usr/sbin:/sbin
Wie kann ich herausfinden, warum es diese Diskrepanz gibt? Ich muss / usr / local / bin zum PATH hinzufügen und es für Java-Apps unter Eclipse verfügbar machen. (Hinweis: Ich habe keine Änderungen an den Systempfaden vorgenommen. Dies sind also die Standardeinstellungen, die vom Betriebssystem oder möglicherweise von einer oder mehreren der von mir installierten Anwendungen festgelegt wurden.)
Für diejenigen unter Ihnen, die Jahre später nach einer Antwort suchen (Neon, Sauerstoff):
Einige meiner Node- und Angular / Angular2-Tools in Eclipse sind aufgrund fehlender $ PATH-Einträge im MacOS-Terminal fehlgeschlagen. Ihre Werkzeuge verwenden wahrscheinlich das eingebettete Eclipse-Terminal, das Ihre Anmelde- / Benutzer-Shell nicht mehr bereitstellt. Daher müssen Sie das Eclipse-Terminal in Ihren Eclipse-Einstellungen so einstellen, dass es als --login-Shell gestartet wird, um die PATH-Einstellungen Ihrer Benutzer zu umfassen:
Gehe zu:
und setzen
Arguments
zu:--login
öffne ein neues Terminal in Eclipse und der $ PATH deines Benutzers sollte von nun an verwendet werden. Auch alles, was Sie in ~ / .bash_profile eingerichtet haben, wird beim Öffnen eines neuen Terminals in Eclipse ausgeführt.
quelle
Hatte das selbe Problem. Hier ist meine Lösung:
Bearbeiten Sie die
/etc/paths
Datei, um den gewünschten zusätzlichen Pfad einzuschließen.Führen Sie für eine OSX-Installation
/Applications/eclipse/eclipse
nicht aus/Applications/eclipse/Eclipse.app
quelle
/etc/paths
ist der vollständige Pfad der Datei. Sie können Cmd + Shift + G ausführen und dann "/ etc" eingeben und die Eingabetaste drücken. Sie müssen die Datei mit dem Namen "path" dort finden.Aha, ich habe diese Webseite gefunden, auf der steht
Ist dies eine angemessene / unangemessene Maßnahme? Ich kann Systemdateien nur dann bearbeiten, wenn ich wirklich weiß, was ich tue. / usr / local / bin kann nur von root geschrieben werden, damit ich keine Sicherheitslücke öffne, oder?
Seltsamerweise habe ich den Exportpfad hinzugefügt und er hat keine Auswirkung auf die Eclipse-Ausführung über das Dock. Außerdem habe ich diese Seite über Pfade gefunden und meine Datei / etc / arrows hat
und doch werden diese Pfade in Eclipse nicht angezeigt ... gibt es eine einfache Möglichkeit, eine Binärdatei zu erstellen / zu finden, die $ PATH ausgibt, die ich vom Dock aus ausführen und so leichter debuggen kann? Ich weiß nicht, ob Eclipse mit dem Pfad rumspielt.
quelle
/usr/local/bin
ersten Platz bei den Nutzern ein$PATH
. (Siehe hier .)Wenn Sie auf Eclipse sind (getestet mit "Mars"), können Sie Ihre "Run Configuration" ändern:
Jetzt verwendet Eclipse dieselben Werte für die Umgebungsvariable PATH wie Ihr System. Denken Sie daran: Dies gilt nur für die von Ihnen ausgewählte Ausführungskonfiguration.
Wie bereits in Ihrer Frage erwähnt, überprüfen Sie Java mit:
quelle
Höchstwahrscheinlich ändert sich eines Ihrer Bash-Anmeldeskripts (
.bashrc
oder.bash_profile
)$PATH
. Wenn Sie Eclipse vom Terminal aus starten, gelangt es/usr/local/bin
in seinen Pfad?quelle
Dieser obige Tipp funktioniert für mich: 1) Füge Pfad zu / etc / routes als root hinzu 2) starte eclipse mit $ ECL_HOME / Eclipse.app / Contents / MacOS / eclipse anstelle von $ ECL_HOME / Eclipse.app
quelle
Alternativ können Sie Ihrem
/usr/local
Verzeichnis auch einen symbolischen Link hinzufügen , der auf Ihre Anwendung verweist.ZB wie folgt vorgehen
root
:Dies half mir, die externe PhantomJS- Anwendung in einem Maven-Projekt in Eclipse auszuführen (mvn test) .
quelle
$PATH
oder Verzeichnisse in$PATH
wie/usr/local/bin
. Könnten Sie das bitte näher erläutern?Sie können den globalen OSX-Pfad ändern, indem
/etc/launchd.conf
Sie dem Computer eine Zeile hinzufügen und ihn neu starten .Funktioniert in OSX 10.8 und 10.9
/server/16355/how-to-set-global-path-on-os-x/277034#277034
quelle
Eclipse - NEON, Mac OS X 10.11.6
Das Terminal in Eclipse nicht verwenden
mvn
Befehl. (I einen Soft - Link von machemvn
in/usr/local/bin
)Temporäre Lösung:
Rechtsklick
/Applications/eclipse
-> Paketinhalt anzeigen -> Inhalt -> MacOS -> Doppelklickeclipse
zum Starten.Starten Sie Eclipse auf diese Weise. Eclipse kann alle Pfadeinstellungen erkennen und anschließend den
mvn
Befehl im Eclipse-Terminal verwenden.Sie können mit der rechten Maustaste
eclipse
in diesen Ordner klicken und einen Alias erstellen, um ihn bequem zu starten.Ich weiß nicht warum gerade jetzt. Ich denke, das sollte ein Finsternis-BUG sein.
quelle
Bearbeiten Sie die
~/.bash_profile
, um den Pfad aufzunehmenanstatt im Launchpad zu starten,
öffne das Terminal und starte es als
Das hat den Trick für mich getan.
quelle
Einige Antworten zusammenfassen und auf etwas Leichtes updaten:
Dadurch wird nicht nur ein praktisches Terminalfenster geöffnet, in dem die unformatierte Eclipse-Ausgabe angezeigt wird, sondern es wird auch automatisch der Pfad übernommen, den Sie in Ihrer Anmeldeshell festgelegt haben.
Sie können also eine der normalen Methoden verwenden, um Ihren Pfad festzulegen (z. B. das Bearbeiten
/etc/paths
oder~/.bash_profile
Installieren eines Befehlszeilentools mit gutem Verhaltenmbed
), ohne sich weitere Sorgen machen zu müssen. Wenn Sie es vom Terminal aus aufrufen können, kann es auch von Eclipse aufgerufen werden.quelle