31 Stimmen

Mac Eclipse mit gesetzten Umgebungsvariablen starten

Mein Unternehmen bietet eine auf Eclipse basierende Entwicklungsumgebung an, für die einige Umgebungsvariablen für die zugrundeliegende Toolchain eingerichtet werden müssen, damit mehrere Versionen gleichzeitig installiert werden können und nicht das System übernehmen.

Ich möchte ein Symbol im Finder oder im Dock bereitstellen, das diese Einstellungen vornimmt und dann Eclipse startet, damit Kunden nicht versehentlich Eclipse starten können, ohne dass die Umgebung eingestellt ist. Dies ist, was ich bisher versucht habe:

  1. Einstellung der Umgebung in Info.plist für Eclipse:

    Dies sollte eine gute Möglichkeit sein aber ich kann es nicht an den bestehenden Pfad hinzufügen (wie export PATH=/myapp/bin:$PATH).

  2. Bash-Skript, das Eclipse umschließt:

    Ich habe ein Bash-Skript namens eclipse.command zum Einstellen der Umgebung zu setzen und dann eclipse zu starten. Dies öffnet ein Terminalfenster sowie sowie das Eclipse-Symbol und ermöglicht "Keep on dock" für das reine Eclipse nackten Eclipse. Ich kann eclipse.command auf das Dock legen, da es keine Anwendung ist.

  3. Applescript umhüllt eclipse.command:

    Ein Applescript-Wrapper um e

Irgendwelche Vorschläge? Gehe ich die Sache völlig falsch an?

48voto

sakra Punkte 57239

Es gibt eine alternative Lösung, bei der die ausführbare Datei, die von MacOS X ausgeführt wird, wenn der Benutzer das Eclipse-Programm startet, durch einen Shell-Wrapper ersetzt wird, der die Umgebung einrichtet.

Erstellen Sie eine leere Textdatei mit dem Namen "eclipse.sh" im Verzeichnis des Eclipse-Anwendungsbündels /Applications/eclipse/Eclipse.app/Contents/MacOS.

Öffnen Sie die Datei eclipse.sh in einem Texteditor und geben Sie den folgenden Inhalt ein:

#!/bin/sh

export ENV_VAR1=value
export ENV_VAR2=value

logger "`dirname \"$0\"`/eclipse"

exec "`dirname \"$0\"`/eclipse" $@

Im Beispiel sind ENV_VAR1 und ENV_VAR2 die einzurichtenden Umgebungsvariablen. Diese Variablen sind für Prozesse, die von Eclipse aus gestartet werden, sichtbar. Der Logger-Befehl protokolliert lediglich den Pfad der ausführbaren Eclipse-Datei in der system.log-Datei, um die Fehlersuche zu erleichtern.

Setzen Sie im Terminal das Executable Flag des Shell-Skripts eclipse.sh, d.h.:

chmod +x /Applications/eclipse/Eclipse.app/Contents/MacOS/eclipse.sh

Öffnen Sie die Eclipse.app Info.plist und ändern Sie den Wert für den Schlüssel CFBundleExecutable von eclipse in eclipse.sh.

MacOS X erkennt nicht automatisch, dass sich die Info.plist von Eclipse.app geändert hat. Daher müssen Sie die Aktualisierung der LaunchService-Datenbank im Terminal erzwingen, indem Sie den Befehl lsregister verwenden:

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -v -f /Applications/eclipse/Eclipse.app

Wenn Sie Eclipse.app das nächste Mal aus dem Dock oder dem Finder starten, sollten die Umgebungsvariablen gesetzt sein.

8voto

Chris Fregly Punkte 1390

Ich habe das Folgende erstellt:

alias start-eclipse='open /Applications/eclipse/Eclipse.app'

Wenn Sie start-eclipse von der Kommandozeile aus starten, werden alle Umgebungsvariablen übernommen. Auf diese Weise müssen Sie nur einen einzigen Satz von Umgebungsvariablen sowohl für die Kommandozeile als auch für die Eclipse-Umgebung pflegen.

6voto

mouviciel Punkte 64583

Werfen Sie einen Blick auf eine verwandte Frage: Umgebungsvariablen in Mac OS X .

Im Wesentlichen geht es dabei um die Erstellung eines ~/.MacOSX/environment.plist Datei.

Loggen Sie sich aus und wieder ein, damit die environment.plist von .App's abgeholt wird.

4voto

automatom Punkte 275

Das hat unter OS X Yosemite perfekt funktioniert:

  1. Öffnen Sie /Programme/Automator.
  2. Wenn die Dropdown-Liste erscheint, in der Sie gefragt werden, welche Art von Dokument Sie erstellen möchten, wählen Sie "Anwendung".
  3. Doppelklicken Sie in der zweiten Liste von links auf "Run Shell Script".
  4. Löschen Sie auf der rechten Seite das "cat", das dort automatisch eingefügt wird, und ersetzen Sie es durch dieses:

    source ~/.bash_profile && /Applications/eclipse/Eclipse.app/Contents/MacOS/eclipse

Gehen Sie nun auf Datei->Speichern und speichern Sie die Anwendung in Ihrem Anwendungsverzeichnis. Ich habe sie "Eclipse" mit einem großen "E" genannt, um keinen Konflikt mit dem Verzeichnis "eclipse" zu erzeugen, das ich bereits hatte. Sie können ihr sogar das Eclipse-Symbol geben, indem Sie die echte Eclipse-Anwendung auswählen, die Befehlstaste-i drücken, das Symbol auswählen, die Befehlstaste-c drücken und dann die Automator-Anwendung "Eclipse" auswählen, die Befehlstaste-i drücken, das Symbol auswählen und die Befehlstaste-v drücken.

Jetzt können Sie die Anwendung öffnen oder sie sogar in Ihr Dock ziehen. Beachten Sie, dass beim Starten der App die "echte" Eklipse immer noch als separates Symbol in Ihrem Dock angezeigt wird, aber man kann nicht alles haben :)

4voto

Ahmed Hammad Punkte 594

Keine der oben genannten Möglichkeiten hat bei mir funktioniert. Sie müssen Eclipse -> Preferences -> Terminal -> Arguments auf --login setzen. Das wird Eclipse anweisen, sich mit Ihrem Konto anzumelden, sobald Sie Terminal öffnen.

Siehe Bildschirmfoto:

enter image description here

Referenz: https://marketplace.eclipse.org/comment/4259#comment-4259

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X