ব্যাট ফাইলে একাধিক মাভেন কমান্ড কীভাবে কার্যকর করা যায়?


115

আমি একটি ব্যাট ফাইল তৈরি করেছি:

এমভিএন ক্লিন;
এমভিএন প্যাকেজ;

তবে এটি কার্যকর হয় না, কেবল প্রথম কমান্ড কার্যকর করা হয়।

কেউ আমাকে সাহায্য করতে পারেন?

উত্তর:


252

ব্যবহার

call mvn clean
call mvn package

নোট করুন যে ব্যাচ ফাইলগুলিতে আপনার অর্ধিকোলনের প্রয়োজন নেই। এবং আপনাকে যে কারণে ব্যবহার করতে হবে তা callহ'ল mvnনিজেই একটি ব্যাচ ফাইল এবং ব্যাচ ফাইলগুলিকে একে অপরের সাথে কল করা দরকার call, অন্যথায় নিয়ন্ত্রণ কলারে ফিরে আসে না।

আপনি যদি পরবর্তী কমান্ডগুলি কমান্ড লাইনের প্রতিধ্বনি করতে চান (ব্যাচ আউটপুটে প্রদর্শন করুন), কাজটি শেষ করার echo onপরে আপনাকে অবশ্যই করতে হবে call mvn(পরের লাইনে)। এটি কারণ mvnপ্রতিধ্বনিত করে এবং এটি আবার চালু করে না।


2
একই সাথেgradle
প্রেবস

27

জোয়ের উত্তর দুর্দান্ত, তবে সম্ভবত আরও একটি সম্পূর্ণ কোড উদাহরণ আমার মতো অন্য কাউকে সহায়তা করবে যিনি উইন্ডোজের একটি ব্যাচ ফাইল থেকে একাধিক মাভেন প্রকল্পগুলি নির্মাণের অনুরূপ সমস্যাটি খুঁজে বের করতে পারেন:

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

15

আপনার নীচের ওয়ান-লাইনার থাকতে পারে:

call mvn clean package 

4
তবুও, তাদের ব্যবহার করা উচিত callযাতে mvnকমান্ডের পরে তারা যে কোনও কিছু লিখতে পারে ।
জোয়ি

9

আমার আরও চালানোর জন্য আরও প্রকল্প রয়েছে, আমি এ জাতীয় ব্যাট তৈরি করেছি:

@echo off
SET DEVELOPMENT_HOME=C:\Projects

cd %DEVELOPMENT_HOME%\Project1\
call mvn clean install

cd %DEVELOPMENT_HOME%\Project2\
call mvn clean install

8

আপনি যখন পিতৃ ফাইলে অন্য একটি ব্যাচ ফাইলে আবেদন করতে চান তখন 'কল' ব্যবহার করুন, যাতে নিয়ন্ত্রণটি প্যারেন্ট ব্যাচ ফাইলে ফিরে আসবে এবং এটি কার্যকর হবে।

যেমন কল এমভিএন ক্লিন ইনস্টল


5

পর্যবেক্ষিত বাহাভিউরটি এমএস-ডস 1.0 এর সময় থেকে আসে এবং এটি সামঞ্জস্যতার কারণে রাখা হয়, সমাধান হিসাবে আপনি নিম্নলিখিত পদ্ধতিতে উইন্ডোজ কল ফাংশনটি ব্যবহার করবেন :

call mvn clean
call mvn package

"কল" অন্য একটি ব্যাচ প্রোগ্রাম চালায় এবং এটিকে সাবরুটিন হিসাবে ব্যাখ্যা করে।


-1

আমরা মভেন তৈরি করতে এবং ব্যবহারের উদ্দেশ্যে যেকোন ইউনিক্স ফোল্ডারে এটি ব্যবহার করতে নিম্নলিখিতটি ব্যবহার করতে পারি

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%

-2

ব্যবহার

কল mvn clean package

sample
------
echo %test%
cd %test%\ManaulActionAddNotes-test
call mvn clean
cd %test%\restAuthentication-test
call mvn clean

1
অন্যান্য উত্তরের চেয়ে এখানে আরও তথ্য কোথায়? এটি আমার কাছে গৃহীত (9 বছর বয়সী) উত্তরের
সদৃশটির মতো দেখাচ্ছে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.