Zrobiłem plik bat jak:Jak wykonać więcej niż jedno polecenie maven w pliku bat?
mvn clean; mvn package;
ale to nie działa, tylko pierwsza komenda jest wykonywana.
Czy ktoś może mi pomóc?
Zrobiłem plik bat jak:Jak wykonać więcej niż jedno polecenie maven w pliku bat?
mvn clean; mvn package;
ale to nie działa, tylko pierwsza komenda jest wykonywana.
Czy ktoś może mi pomóc?
Korzystając
call mvn clean
call mvn package
pamiętać, że nie trzeba średników w plikach wsadowych. Powodem, dla którego musisz użyć call
, jest to, że sam plik mvn
jest plikiem wsadowym, a pliki wsadowe muszą nawiązywać połączenia z call
, w przeciwnym razie sterowanie nie wróci do wywołującego.
Jeśli chcesz, aby kolejne polecenia wyświetlały się w wierszu poleceń (pokaż na wyjściu wsadowym), musisz wykonać także echo on
po wykonaniu call mvn
(w następnym wierszu). Dzieje się tak, ponieważ mvn
wyłącza echo i nie włącza go ponownie.
Można również mieć następującą jedno-liner:
call mvn clean package
Mimo to powinny używać 'call', aby wszystko, co napisali po uruchomieniu polecenia' mvn'. – Joey
mam więcej projektów do uruchomienia, stworzyłem taki bat to:
@echo off
SET DEVELOPMENT_HOME=C:\Projects
cd %DEVELOPMENT_HOME%\Project1\
call mvn clean install
cd %DEVELOPMENT_HOME%\Project2\
call mvn clean install
odpowiedź Joey'a jest super, ale być może bardziej kompletny przykład kodu pomoże nikogo takiego jak ja, kto też zastanawianie się podobny problem budowę wielu projektów Maven z pliku wsadowego w systemie Windows:
REM maven itself uses a batch file so each mvn must be preceded by "call"
REM the -f flag specifies where the pom.xml is found for the project
REM mvn install will save the target output to %userprofile%\.m2\repository ...
call mvn install -f c:\Users\John\workspace\PropertiesReader\pom.xml
call mvn install -f c:\Users\John\workspace\PropertiesWriter\pom.xml
Użyj „rozmowa” gdy chcemy wywołać inny plik wsadowy w pliku nadrzędnym, tak że kontrola zostanie zwrócony do pliku rodzic wsadowym i będzie kontynuować wykonanie.
np wezwanie mvn czystej instalacji
Obserwowany bahaviour pochodzi z czasów MS-DOS 1.0 i jest utrzymać ze względu na kompatybilność, jak rozwiązania będą korzystać z Windows zadzwoń funkcję w następujący sposób:
call mvn clean
call mvn package
"Połączenie" wykonuje jeden program wsadowy z drugiego i interpretuje go jako podprogram.
samo z 'gradle' – Prabs