Câu trả lời:
Sử dụng
call mvn clean
call mvn package
Lưu ý rằng bạn không cần dấu chấm phẩy trong các tệp hàng loạt. Và lý do tại sao bạn cần sử dụng call
là mvn
bản thân nó là một tệp hàng loạt và các tệp hàng loạt cần phải gọi lẫn nhau call
, nếu không quyền điều khiển sẽ không quay trở lại trình gọi.
Nếu bạn muốn các lệnh tiếp theo lặp lại đến dòng lệnh (hiển thị trong đầu ra hàng loạt), bạn cũng phải thực hiện echo on
sau khi call mvn
hoàn tất (trên dòng tiếp theo). Điều này là do mvn
tắt tiếng vang và không bật lại.
Câu trả lời của Joey rất tuyệt, nhưng có thể một ví dụ mã hoàn chỉnh hơn sẽ giúp bất kỳ ai khác như tôi, những người cũng đang tìm ra vấn đề tương tự khi xây dựng nhiều dự án maven từ một tệp hàng loạt trong 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
Bạn cũng có thể có một lớp lót sau:
call mvn clean package
call
để bất kỳ thứ gì họ viết sau mvn
lệnh sẽ chạy.
Tôi có nhiều dự án hơn để chạy, tôi đã tạo một con dơi như thế này:
@echo off
SET DEVELOPMENT_HOME=C:\Projects
cd %DEVELOPMENT_HOME%\Project1\
call mvn clean install
cd %DEVELOPMENT_HOME%\Project2\
call mvn clean install
Bahaviour được quan sát có từ thời MS-DOS 1.0 và nó được giữ lại vì lý do tương thích, như các giải pháp bạn sẽ sử dụng chức năng gọi của Windows theo cách sau:
call mvn clean
call mvn package
"Cuộc gọi" thực hiện một chương trình hàng loạt từ một chương trình khác và diễn giải nó như một chương trình con.
chúng ta có thể sử dụng phần sau để tạo maven và chuyển nó vào bất kỳ thư mục unix nào cho mục đích phát triển
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%
Sử dụng
gọi mvn clean package
sample
------
echo %test%
cd %test%\ManaulActionAddNotes-test
call mvn clean
cd %test%\restAuthentication-test
call mvn clean
gradle