2016-06-06 16 views
0
set homepath=%userprofile% 
set a=%1 
set b=%2 
set c=%3 
set uuid=%4 
set zipDirectory=%5 
set pluginDirectory=%6 
cd %homepath%\%a% 
mvn archetype:generate -DarchetypeCatalog=file://%homepath%/.m2/repository 

Alles funktioniert bis hier, dann stoppen die Befehlszeilen ausführen. Es druckt weder die 1 noch nachfolgende Befehle.Batch-Datei beendet die Ausführung nach Mvn-Befehl

1 
c 
b 
c 
%uuid% 
Y 
cd %homepath%\%a%\%b% 
mvn clean install 
cd %homepath%\%a%\%b%\%b%-plugin\target 
jar -xvf %zipDirectory% 
cd %homepath%\%a%\%b%\%b%-plugin\target\META-INF\maven\%c%\%b%-plugin 
copy pom.xml + %pluginDirectory% 
cd %pluginDirectory% 
rename pom.xml %b%-plugin-1.0.0.pom 

Frage: Gibt es etwas über Maven Ich weiß nicht, über die eine Batch-Prozess unterbricht? Versteht es nicht, den Befehl mit einer einsamen Nummer 1 auszuführen?

+2

in Batch-Dateien in Windows Sie müssen 'mvn' und andere Batchdateien über' call mvn ... '... – khmarbaise

+0

Cool ausführen. Ist das bei Befehlen wie 'jar',' copy' und 'rename' gleich? – santafebound

+0

Hmm ... Selbst wenn ich es anrufe, wird die '1' nicht direkt nach dem mvn-Befehl ausgeführt. – santafebound

Antwort

1

Wenn Maven aus einer Batch-Datei aufgerufen wird, um ein neues Projekt über Archetypen zu erstellen, sollten Sie die Ausführung der Ausführung beachten, dh Maven wird nach bestimmten Werten fragen oder um Bestätigung bitten.

Es scheint in Ihrem Fall ist dies nicht das gewünschte Verhalten. Sie sollten daher über die Befehlszeile einige options des Ziels generate und die spezifische Archetyp übergeben und dann entweder im Batch-Modus über die Standard-Maven-Option -B oder über -DinteractiveMode=true.

Von official documentation sollten Sie

  • Die archetypeGroupId, archetypeArtifactId und archetypeVersion das Urbild definiert zur Projektgenerierung verwenden, übergeben.
  • Die groupId, artifactId, Version und Paket sind die Haupteigenschaften, die eingestellt werden müssen. Jeder Archetyp benötigt diese Eigenschaften. Einige Archetypen definieren andere Eigenschaften; finden Sie in der Dokumentation des entsprechenden Urbild wenn
  • benötigt

also in Ihrem Fall:

call mvn archetype:generate -DarchetypeCatalog=file://%homepath%/.m2/repository -B \ 
-DarchetypeGroupId=com.sample -DarchetypeArtifactId=artifact -DarchetypeVersion=1.0 \ 
-DgroupId=your.groupid -DartifactId=your.artifactId -Dversion=0.0.1-SNAPSHOT \ 
-Dsomething-else=value 

Hinweis: \ hinzugefügt, um die Lesbarkeit, nicht wahr tatsächlich benötigen

+0

Macht Sinn. Wenn ich dies mit AutoItX scripte, könnte ich die Tastenanschläge simulieren, aber das ist anders. Ich nahm deshalb an, dass ich die Befehlszeilen von der Stapelverarbeitungsdatei in die interaktiven Eingaben ausführen konnte, wenn das falsch war. Vielen Dank. – santafebound