जवाबों:
उपयोग
call mvn clean
call mvn package
ध्यान दें कि आपको बैच फ़ाइलों में अर्धविराम की आवश्यकता नहीं है। और जिस कारण से आपको उपयोग करने की आवश्यकता है call
वह यह है कि mvn
स्वयं एक बैच फ़ाइल है और बैच फ़ाइलों को एक-दूसरे के साथ कॉल करने की आवश्यकता है call
, अन्यथा नियंत्रण कॉलर पर वापस नहीं आता है।
यदि आप बाद के कमांड को कमांड लाइन (बैच आउटपुट में दिखाना) के लिए प्रतिध्वनित करना चाहते हैं, तो आपको यह करने के echo on
बाद call mvn
(अगली पंक्ति पर) भी करना होगा । ऐसा इसलिए है क्योंकि mvn
यह प्रतिध्वनि को बंद कर देता है और इसे वापस चालू नहीं करता है।
जॉय का जवाब बहुत अच्छा है, लेकिन शायद एक अधिक पूर्ण कोड उदाहरण मेरे जैसे किसी और की मदद करेगा, जो विंडोज में एक बैच फ़ाइल से कई मावेन परियोजनाओं के निर्माण की एक समान समस्या का पता लगा रहा है:
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
आप निम्न एक-लाइनर भी रख सकते हैं:
call mvn clean package
call
ताकि mvn
कमांड चलने के बाद वे जो कुछ भी लिखते हैं।
मेरे पास चलाने के लिए अधिक परियोजनाएं हैं, मैंने इस तरह के बल्ले बनाए:
@echo off
SET DEVELOPMENT_HOME=C:\Projects
cd %DEVELOPMENT_HOME%\Project1\
call mvn clean install
cd %DEVELOPMENT_HOME%\Project2\
call mvn clean install
देखा गया bahaviour MS-DOS 1.0 के समय से आता है और इसे संगतता कारणों से रखा जाता है, क्योंकि समाधान आप निम्न तरीके से Windows कॉल फ़ंक्शन का उपयोग करेंगे :
call mvn clean
call mvn package
"कॉल" एक बैच प्रोग्राम को दूसरे से निष्पादित करता है और इसे सबरूटीन के रूप में व्याख्या करता है।
हम मावेन के निर्माण के लिए निम्नलिखित का उपयोग कर सकते हैं और इसे विकास उद्देश्य के लिए किसी भी यूनिक्स फ़ोल्डर में पास कर सकते हैं
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%
उपयोग
कॉल mvn clean package
sample
------
echo %test%
cd %test%\ManaulActionAddNotes-test
call mvn clean
cd %test%\restAuthentication-test
call mvn clean
gradle