Jawaban:
Menggunakan
call mvn clean
call mvn package
Perhatikan bahwa Anda tidak memerlukan titik koma dalam file batch. Dan alasan mengapa Anda perlu menggunakan call
adalah bahwa mvn
itu sendiri adalah file batch dan file batch perlu memanggil satu sama lain call
, jika tidak, kontrol tidak akan kembali ke pemanggil.
Jika Anda ingin perintah berikutnya bergema ke baris perintah (ditampilkan dalam keluaran batch), Anda juga harus melakukannya echo on
setelah call mvn
selesai (pada baris berikutnya). Ini karena mvn
mematikan gema dan tidak menyalakannya kembali.
Jawaban Joey sangat bagus, tetapi mungkin contoh kode yang lebih lengkap akan membantu orang lain seperti saya yang juga menemukan masalah serupa dalam membangun beberapa proyek maven dari file batch di 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
Anda juga dapat memiliki satu baris berikut:
call mvn clean package
call
agar apa pun yang mereka tulis setelah mvn
perintah akan berjalan.
Saya memiliki lebih banyak proyek untuk dijalankan, saya membuat kelelawar seperti ini:
@echo off
SET DEVELOPMENT_HOME=C:\Projects
cd %DEVELOPMENT_HOME%\Project1\
call mvn clean install
cd %DEVELOPMENT_HOME%\Project2\
call mvn clean install
Gunakan 'call' saat Anda ingin memanggil file batch lain di file induk, sehingga kontrol akan dikembalikan ke file batch induk dan akan melanjutkan eksekusi.
misalnya hubungi mvn clean install
Bahaviour yang diamati berasal dari waktu MS-DOS 1.0 dan disimpan untuk alasan kompatibilitas, sebagai solusi Anda harus menggunakan fungsi panggilan Windows dengan cara berikut:
call mvn clean
call mvn package
"Panggilan" menjalankan satu program batch dari yang lain dan menafsirkannya sebagai subrutin.
kita dapat menggunakan berikut ini untuk membangun maven dan meneruskannya ke folder unix mana pun untuk tujuan pengembangan
SET projectName=commonutil
cd %gitpath%\%projectName%
call mvn clean install -DskipTests=true %password%
IF %ERRORLEVEL% EQU 0 (Echo No error found) ELSE goto exitdoor
SET jarpath="%gitpath%\%projectName%\target\%projectName%-0.0.1-SNAPSHOT.jar"
copy /Y %jarpath% "%libpath%"
scpg3 %jarpath% %ssh_profile_name%@%hostname%:%dev_lib_folder_name%
Menggunakan
panggilan mvn clean package
sample
------
echo %test%
cd %test%\ManaulActionAddNotes-test
call mvn clean
cd %test%\restAuthentication-test
call mvn clean
gradle