Ist es möglich, Argumente von der Befehlszeile an Eigenschaften in der pom.xml
Datei zu übergeben? Zum Beispiel renne ichmvn ... argument
und in pom.xml
<properties>
<myproperty> here should add argument from command line</myproperty>
</properties>
Danke für die Hilfe.
Antworten:
Für Ihr Immobilienbeispiel tun Sie Folgendes:
Beachten Sie Anführungszeichen zur Definition der gesamten Eigenschaft. Sie benötigen sie, wenn Ihre Immobilie Leerzeichen enthält.
quelle
mvn clean install "-Dprop1=value1" "-Dprop2=value2"
In pom.xml
..... .....
..... .....
..... .....
In diesem Beispiel wird das
mvn clean install
Standardprofil ausgeführt, wenn Sie den POM ohne Argument ausführen.Bei Ausführung mit
mvn -Denv=win64 clean install
Das win64-Profil wird ausgeführt.
Weitere Informationen finden Sie unter http://maven.apache.org/guides/introduction/introduction-to-profiles.html
quelle
Ich habe das Eigenschaften-Plugin verwendet, um dies zu lösen.
Eigenschaften werden im pom definiert und in eine my.properties-Datei geschrieben, auf die Sie dann über Ihren Java-Code zugreifen können.
In meinem Fall muss Testcode auf diese Eigenschaftendatei zugreifen, sodass die Eigenschaftendatei im pom in das testOutputDirectory von maven geschrieben wird:
Verwenden Sie outputDirectory, wenn Sie möchten, dass Ihr App-Code auf Eigenschaften zugreifen kann:
Für diejenigen, die nach einem ausführlicheren Beispiel suchen (ich musste ein wenig herumspielen, um dies zum Laufen zu bringen, da ich nicht verstand, wie sich die Benennung von Eigenschaften-Tags auf die Fähigkeit auswirkt, sie an anderer Stelle in der POM-Datei abzurufen), sieht mein POM wie folgt aus:
Und in der Kommandozeile:
Auf diese Eigenschaften kann also über den Java-Code zugegriffen werden:
quelle
Sie können Variablennamen als Projektdateien angeben. Geben Sie beispielsweise in Ihrer Plugin-Konfiguration nur ein Tag wie folgt an: -
Dann können Sie in der Befehlszeile den Projektnamen als Parameter übergeben: -
quelle
Verwenden Sie dann wie folgt in POM.xml
quelle