2010-08-17 9 views
8

Ist es möglich, Umgebungsvariable mit Maven (OS: Linux) zu setzen?Einstellung Umgebungsvariable mit Maven 2.x

Ich habe bereits benutzerdefinierte Eigenschaften (im pom und in profiles.xml) .... mein Problem ist, wie

folgenden von Maven ausführen
export GGA_FRE=/path 

wird also möglich sein, dass jeder Entwickler kann seinen eigenen Weg für die GGA_FRE setzen.

+0

Maven hat einige env und Java-Variablen eingebaut. Welche (als Beispiel) willst du einstellen? – JoseK

+0

Ich möchte meine eigene Umgebung festlegen var .... für zB die GGA_FRE. – cupakob

+0

Warum müssen Sie sie einstellen? Benutze sie von außerhalb Maven? – khmarbaise

Antwort

4

Diese Antwort ist nicht korrekt, zumindest nicht vollständig (siehe Kommentare).
Leider kann ich es nicht löschen, da es akzeptiert wurde. Ihr Kilometerstand kann variieren.


Verwenden Sie die exec:exec Mojo.

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>exec-maven-plugin</artifactId> 
    <version>1.1</version> 
    <executions> 
     <execution> 
     <id>exportVar</id> 
     <phase>initialize</phase> 
     <goals> 
      <goal>exec</goal> 
     </goals> 
     </execution> 
    </executions> 
    <configuration> 
     <executable>export</executable> 
     <arguments> 
     <argument>GGA_FRE=${my.path}</argument> 
     </arguments> 
    </configuration> 
    </plugin> 

nennt es jetzt wie diese mvn install -Dmy.path=/var/users/groucho

+0

Kann jemand bestätigen, dass das funktioniert? Ich habe es ausprobiert und es funktioniert nicht für mich. Ich denke, dass exec: exec den Befehl in einer erzeugten Shell ausführen würde, die die geänderte Umgebung mitnehmen würde, wenn sie unmittelbar danach beendet wird. – Anonymoose

+0

@Anonymoose das könnte richtig sein, wahrscheinlich sollten Sie eine Folgefrage bei http://superuser.com stellen, um den genauen Befehl zu bestimmen (falls es einen gibt). Ich bin kein Muschel-Guru. –

+0

@Anonymoose, das funktioniert auch nicht für mich. – Gilbeg

0

Ich glaube nicht, dass es eine Java Art und Weise ist die Umgebungsvariable der Art und Weise Exportbefehl tut einstellen (so dass es avaliable außerhalb von Java ist). (Siehe zum Beispiel der Frage: How do I set environment variables from Java?)

aber Sie könnten Sie hacken Art und Weise um: zum Beispiel der Verwendung von Maven-Exec-Plugin eines Shell-Skript ausführen und dann die Variable im Skript. Sie könnten einen Parameter an Ihr Skript übergeben, um den Variablenwert anzugeben. (beachten Sie, dass ich dies nicht getestet habe)