Yarasa dosyasında birden fazla maven komutu nasıl çalıştırılır?


115

Şöyle bir yarasa dosyası yaptım:

mvn temiz;
mvn paketi;

ama çalışmıyor, sadece ilk komut çalıştırılıyor.

biri bana yardım edebilir mi?

Yanıtlar:


252

kullanım

call mvn clean
call mvn package

Toplu iş dosyalarında noktalı virgüllere ihtiyacınız olmadığını unutmayın. Ve kullanmanızın nedeni call, mvnkendisinin bir toplu iş dosyası olması ve toplu iş dosyalarının birbirini çağırması gerektiğidir call, aksi takdirde kontrol, arayana geri dönmez.

Sonraki komutların komut satırında yankılanmasını istiyorsanız (toplu çıktıda göster), tamamlandıktan echo onsonra call mvn(sonraki satırda) da yapmanız gerekir . Bunun nedeni mvn, yankıyı kapatması ve tekrar açmamasıdır.


2
ile aynıgradle
Prabs

27

Joey'nin cevabı harika, ancak belki daha eksiksiz bir kod örneği, benim gibi Windows'ta bir toplu iş dosyasından birden çok maven projesi oluşturma konusunda benzer bir sorunu çözen herkese yardımcı olabilir:

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

Ayrıca aşağıdaki tek satıra sahip olabilirsiniz:

call mvn clean package 

4
Yine de, komuttan callsonra yazdıkları her şeyin mvnçalışabilmesi için kullanmaları gerekir .
Joey

9

Çalıştıracak daha çok projem var, böyle bir yarasa yarattım:

@echo off
SET DEVELOPMENT_HOME=C:\Projects

cd %DEVELOPMENT_HOME%\Project1\
call mvn clean install

cd %DEVELOPMENT_HOME%\Project2\
call mvn clean install

8

Üst dosyada başka bir toplu iş dosyasını çağırmak istediğinizde 'call' kullanın, böylece kontrol ana toplu iş dosyasına döndürülür ve yürütülmeye devam eder.

örneğin mvn clean install'ı çağırın


5

Gözlemlenen bahaviour, MS-DOS 1.0 zamanından gelir ve uyumluluk nedenleriyle korunur, çünkü çözümler Windows çağrı işlevini aşağıdaki şekilde kullanırsınız:

call mvn clean
call mvn package

"Çağrı", bir toplu iş programını diğerinden yürütür ve bunu alt rutin olarak yorumlar.


-1

bir maven oluşturmak ve geliştirme amacıyla herhangi bir unix klasörüne aktarmak için aşağıdakileri kullanabiliriz

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

kullanım

aramak mvn clean package

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

1
Burada diğer cevaplardan daha fazla bilgi nerede? Bu kabul (9 yaşındaki) cevap kopyası gibi bana arar
jeb
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.