2011-01-12 17 views
21

में कई बैच आदेश पर अमल करने के लिए मैं एक Windows XP बैच स्क्रिप्ट है कि क्रमिक रूप से निम्नलिखित की तरह कुछ करता है बनाना चाहते हैं:कैसे अनुक्रम

@echo off 
:: build everything 
cd \workspace\project1 
mvn clean install 
cd ..\project2 
mvn clean install 

:: run some java file 
cd \workspace\project3 
java -jar somefile.jar 

जब मैं इस तरह की एक बैच स्क्रिप्ट बनाने (these निर्देशों का पालन), मैं अभी भी समस्या है कि स्क्रिप्ट पहले

mvn clean install 

के बाद कुछ करने से रोकता है और फिर कमांड लाइन प्रदर्शित करता है। मैं बैच फ़ाइल में अनुक्रम में इन सभी आदेशों को कैसे निष्पादित कर सकता हूं?

मैं अन्य files को संदर्भित नहीं करना चाहता, मैं इसे एक फ़ाइल में करना चाहता हूं।

+0

मैं भी मैवेन के लिए समान बैच फ़ाइल लिखना चाहता था !!! –

उत्तर

28

मुझे लगता है कि आपकी समस्या यह है कि जब आप mvn कमांड का आह्वान करते हैं तो आप कभी भी अपनी स्क्रिप्ट पर वापस नहीं जाते।

call आदेश उदा .:

call mvn clean install 

इस का उपयोग करते हुए mvn clean install आदेश लागू करेगा और उसके बाद अपनी स्क्रिप्ट में वापस लौटने की कोशिश करो।

जब आप आसानी से mvncall के बिना आह्वान करते हैं तो आप वास्तव में mvn.bat फ़ाइल का आह्वान करते हैं और इसे नियंत्रित करते हैं।

+0

धन्यवाद यह चाल है! –

5

आप mvn पर call आदेश का उपयोग करने के लिए (जो एक और बैच फ़ाइल प्रतीत हो रहा है?)

इस तरह

की आवश्यकता होगी:

@echo off 
:: build everything 
cd \workspace\project1 
call mvn clean install 
cd ..\project2 
call mvn clean install 

:: run some java file 
cd \workspace\project3 
java -jar somefile.jar 

स्रोत: गूगल अपने दोस्त है।

+0

हाँ, मुझे यह पोस्ट Google में मिलती है – user3335983

संबंधित मुद्दे