세 개의 Maven 명령을 차례로 실행하는 배치 파일이 있습니다. 스크립트에서 각 명령을 성공적으로 실행할 수 있습니다. 그러나 세 개의 명령을 모두 같은 파일에 추가하면 스크립트가 종료되기 전에 첫 번째 명령 만 실행됩니다. 왜 그런지 알아?
mvn install:install-file -DgroupId=gdata -DartifactId=base -Dversion=1.0 -Dfile=gdata-base-1.0.jar -Dpackaging=jar -DgeneratePom=true
mvn install:install-file -DgroupId=gdata -DartifactId=blogger -Dversion=2.0 -Dfile=gdata-blogger-2.0.jar -Dpackaging=jar -DgeneratePom=true
mvn install:install-file -DgroupId=gdata -DartifactId=blogger-meta -Dversion=2.0 -Dfile=gdata-blogger-meta-2.0.jar -Dpackaging=jar -DgeneratePom=true
또한 세 명령을 모두 복사하여 명령 셸 (cmd.exe)에 붙여 넣으면 문제없이 차례로 실행됩니다. 따라서 이것은 dos 배치 파일의 일부 문제입니다.
답변
Maven은 배치 파일을 사용하여 비즈니스를 수행합니다. 배치 스크립트를 사용하는 call
경우 호출 된 스크립트가 완료된 후 스크립트로 다시 돌아가도록 명령을 사용하여 다른 스크립트를 호출해야합니다 . call
모든 명령 앞에 추가하십시오 .
시도 할 수있는 또 다른 것은 start
비슷하게 작동 하는 명령을 사용하는 것 입니다.
답변
데이 call
도움이됩니다. 그러나 오늘은 그렇지 않았습니다.
이것이 내가 해결 한 방법입니다.
박쥐 파일 내용 ( cmds 중 하나 일 때 배치 를 중지 하려는 경우 )
cmd1 && ^
cmd2 && ^
cmd3 && ^
cmd4
박쥐 파일 내용 ( cmds 중 하나 일 때 배치 를 계속 하려는 경우 )
cmd1 & ^
cmd2 & ^
cmd3 & ^
cmd4
답변
하나의 스크립트에서 더 많은 Maven 빌드를 실행하려면 다음과 같은 방식으로 Windows 호출 기능을 사용해야합니다 .
call mvn install:install-file -DgroupId=gdata -DartifactId=base -Dversion=1.0 -Dfile=gdata-base-1.0.jar -Dpackaging=jar -DgeneratePom=true
call mvn install:install-file -DgroupId=gdata -DartifactId=blogger -Dversion=2.0 -Dfile=gdata-blogger-2.0.jar -Dpackaging=jar -DgeneratePom=true
call mvn install:install-file -DgroupId=gdata -DartifactId=blogger-meta -Dversion=2.0 -Dfile=gdata-blogger-meta-2.0.jar -Dpackaging=jar -DgeneratePom=true
답변
특정 mvn
명령 이 있어야 exec
하고 반환되지 않으므로 나머지 명령을 실행하지 않아야합니다.
답변
다음 배치 파일을 작성하고 실행하십시오.
Echo one
cmd
Echo two
cmd
Echo three
cmd
처음 두 줄만 실행됩니다. 그러나 명령 프롬프트에 “exit”를 입력하면 다음 두 줄이 처리됩니다. 다른 것을로드하는 쉘입니다.
이것이 스크립트에서 일어나고 있지 않은지 확인하려면 첫 번째 명령이 끝날 때 “exit”를 입력하십시오.
HTH!