1. ホーム
  2. windows

[解決済み] Windowsのバッチファイルでは1行目だけが実行され、コマンドシェルでは3行とも実行されるのはなぜですか?

2022-04-18 13:33:30

質問

3つのMavenコマンドを順番に実行するバッチファイルがあります。各コマンドはスクリプトで正常に実行できます - それ自体で!。しかし、3つのコマンドをすべて同じファイルに追加すると、スクリプトが終了する前に最初の1つだけが実行されます。何か思い当たることはありますか?

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

また、3つのコマンドをコピーしてコマンドシェル(cmd.exe)に貼り付けると、問題なく次々と実行されます。ということで、これはどうやらdosのバッチファイルに何らかの問題があるようです。

解決方法は?

Mavenは、バッチファイルを使用して業務を行います。 どのバッチスクリプトでも、他のスクリプトを call コマンドを使用すると、呼び出されたスクリプトが完了した後、自分のスクリプトに戻ることを認識できます。 試しに call をすべてのコマンドに追加します。

もう一つ試せるのは start というコマンドがありますが、これも同じように動作するはずです。