Ответы:
Использовать
call mvn clean
call mvn package
Обратите внимание, что вам не нужны точки с запятой в командных файлах. И причина, по которой вам нужно использовать, call
заключается в том, что mvn
сам по себе является пакетным файлом, и пакетные файлы должны вызывать друг друга call
, иначе управление не вернется к вызывающему.
Если вы хотите, чтобы последующие команды выводились в командной строке (показывать в пакетном выводе), вы также должны сделать это echo on
после того, как call mvn
будет выполнено (в следующей строке). Это потому, что mvn
эхо отключается и больше не включается.
Ответ Джои великолепен, но, возможно, более полный пример кода поможет кому-то другому, вроде меня, который также выясняет аналогичную проблему создания нескольких проектов maven из командного файла в 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
У вас также может быть следующий однострочник:
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
Наблюдаемое поведение происходит со времен MS-DOS 1.0 и сохраняется по соображениям совместимости, в качестве решений вы должны использовать функцию вызова Windows следующим образом:
call mvn clean
call mvn package
«Вызов» выполняет одну пакетную программу из другой и интерпретирует ее как подпрограмму.
Use these commands in batch file to run ur script. Keep your batch file where
you pom.xml file is housed
set ProjectPath=C:\TetonWorkSpace\PeriodicApplicationCheck
cd %ProjectPath%
mvn clean test -Dxmlfile=Smoke.xml
pause
To Create a Task in Task scheduler:
1. Follow steps as prescribed to create task
2. In the action tab, just place the path of ur batch file as shown below
C:\TetonWorkSpace\PeriodicApplicationCheck\testng.bat
3. You can ignore the rest two options like Add Argument and Start in. Use it
only when there are certain conditions to be used without which the script
becomes dysfunctional.
мы можем использовать следующее, чтобы создать maven и передать его в любую папку unix для целей разработки
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