Wie kann ich Maven-Release-Informationen ohne Eingabeaufforderungen bereitstellen?

8

Ich möchte die Ausführung von Maven-Release automatisieren: Bereiten Sie mit Perl vor, damit der Benutzer die Eingabeaufforderungen für Versionsnamen usw. nicht beantworten muss. Gibt es eine -D-Argumente, die geliefert werden können, so dass keine Aufforderung erfolgt? Ich habe die offensichtliche Lösung ausprobiert, die darin besteht, die Eingabeaufforderungen per PN-Code wie folgt in mvn einzugeben:

%Vor%

aber mvn ignoriert solche Eingaben und verwendet die Standardwerte (und fordert auch keine an).

Also, gibt es -D Argumente für die Veröffentlichung: Plugin vorbereiten: Ziel?

Danke.

    
Bruce Settergren 20.05.2010, 16:48
quelle

4 Antworten

8

Sie können den folgenden maven-Befehl verwenden, um das zu tun ...

%Vor%

Dies wird Standardwerte für alles annehmen, für das Sie normalerweise aufgefordert werden; Es wäre so, als würde man eine Veröffentlichung machen und jedes Mal, wenn es eine Frage stellt, einfach Enter drücken. Wenn Ihre aktuelle Entwicklungsversion Ihres Projekts beispielsweise 1.2.3-SNAPSHOT ist, würde sie Version 1.2.3 veröffentlichen und Ihre Entwicklungsversion auf 1.2.4-SNAPSHOT verschieben. Es ist normalerweise am besten, wenn Maven das für dich erledigt, denn das Ziel von Maven ist es, Konvention über Konfiguration zu verwenden. Allerdings müssen Sie nicht standardmäßige Eigenschaften angeben, das maven-release-plugin erlaubt das Überschreiben der Befehlszeileneigenschaften sowie die Verwendung einer Datei 'release.properties' zum Überschreiben dieser Einstellungen.

    
Jesse Webb 21.05.2010 17:50
quelle
4
Pascal Thivent 20.05.2010 16:54
quelle
1

Wenn es sich um eine Perl-Lösung handelt, die Sie suchen, werden Befehlszeilenargumente normalerweise über system ausgeführt Befehl.

Versuchen Sie system $cmd;

Soweit ich das beurteilen kann, müssen Dateihandles nicht geöffnet und geschlossen werden.

    
Zaid 20.05.2010 16:56
quelle
0

Sie können alles angeben, indem Sie Argumente für die mvn-Version verwenden: prepare-Befehl:

  

mvn-Version: prepare -DautoVersionSubmodules = true -DreleaseVersion = {Ihre Release-Version} -DevelopmentVersion = {nächste Version} -SNAPSHOT -Dtag = {Ihr Tag}

    
Tobb 20.12.2012 13:26
quelle