Ich schrieb eine Aufgabe in Gradle, die eine Umgebungsvariable ergreift.Warum sind Umgebungsvariablen für Gradle (nur) immer null, wenn sie von IntelliJ IDEA ausgeführt werden?
task run(type:Exec) {
def SYS_ENV = System.getenv("SYSTEM_ENV")
// do something with SYS_ENV
}
Wenn ich diese Aufgabe mit ./gradlew :taskName
laufen es ist alles in Ordnung, aber wenn ich die gleiche Aufgabe von IntelliJ IDEA laufen (mit der Taste oder von der gradle Panel) die env Variable kommt als null
aus.
Ich versuchte, IntelliJ neu zu starten, ich versuchte auch die Invalidate Caches/Restart
Option, aber nichts ändert sich.
Soll IntelliJ IDEA das Gradle-Skript nicht genauso ausführen, wie ich es vom Befehl ausführen lasse? Was kann ich tun, um eine env-Variable von Note abzurufen, damit das Skript beim Ausführen von IntelliJ nicht fehlschlägt?
EDIT: Ich habe eine Reihe von Studien, und ich könnte lanchctl setenv MY_PATH MY_VALUE
arbeiten, aber es ist nicht dauerhaft, und setenv MY_PATH MY_VALUE
zu /etc/lanchd.conf
hinzufügen macht es nicht so.
Welche OS Sie verwenden, und wo genau ist die SYSTEM_ENV Variable gesetzt? – yole
Ich bin auf OSX Yosemite und ich setze die Variable in ~/.bash_profile – doplumi
Ich glaube, das ist Ihr Problem. Umgebungsvariablen, die in * ~/.bash_profile * festgelegt sind, sind für GUI-Anwendungen nicht verfügbar. Siehe [diese Antwort] (http://stackoverflow.com/a/588442/957630) für weitere Informationen. –