2010-06-21 15 views
1

Quelqu'un peut-il me dire pourquoi, après l'exécution d'un script .bat, seule la première commande mvn deploy est exécutée, puis l'exécution est close. Pourquoi toutes les commandes ne sont pas exécutées?Exécution de toutes les commandes dans un script .bat

set GROUP_BASE=com.oracle.jdeveloper.jars 
set VERSION=10.1.3.3.0.4157 
set JDEV_HOME=C:/Oracle/jdevstudio10133 
set REPO_URL=http://localhost:8081/nexus/content/repositories/thirdparty 
set REPOSITORY_ID=thirdparty 
mvn deploy:deploy-file -DgroupId=%GROUP_BASE%.BC4J_lib -DartifactId=bc4jct -Dversion=%VERSION% -Dfile=%JDEV_HOME%/BC4J/lib/bc4jct.jar -Dpackaging=jar -DrepositoryId=%REPOSITORY_ID% -Durl=%REPO_URL% 
mvn deploy:deploy-file -DgroupId=%GROUP_BASE%.BC4J_lib -DartifactId=adfm -Dversion=%VERSION% -Dfile=%JDEV_HOME%/BC4J/lib/adfm.jar -Dpackaging=jar -DrepositoryId=%REPOSITORY_ID% -Durl=%REPO_URL% 
mvn deploy:deploy-file -DgroupId=%GROUP_BASE%.BC4J_jlib -DartifactId=bc4jui -Dversion=%VERSION% -Dfile=%JDEV_HOME%/BC4J/jlib/bc4jui.jar -Dpackaging=jar -DrepositoryId=%REPOSITORY_ID% -Durl=%REPO_URL% 
mvn deploy:deploy-file -DgroupId=%GROUP_BASE%.jlib -DartifactId=osdt_core -Dversion=%VERSION% -Dfile=%JDEV_HOME%/jlib/osdt_core.jar -Dpackaging=jar -DrepositoryId=%REPOSITORY_ID% -Durl=%REPO_URL% 
mvn deploy:deploy-file -DgroupId=%GROUP_BASE%.ord_jlib -DartifactId=ordim -Dversion=%VERSION% -Dfile=%JDEV_HOME%/ord/jlib/ordim.jar -Dpackaging=jar -DrepositoryId=%REPOSITORY_ID% -Durl=%REPO_URL% 
mvn deploy:deploy-file -DgroupId=%GROUP_BASE%.xdoclet-1_2_1 -DartifactId=xdoclet-ibm-module-1.2.1 -Dversion=%VERSION% -Dfile=%JDEV_HOME%/xdoclet-1.2.1/xdoclet-ibm-module-1.2.1.jar -Dpackaging=jar -DrepositoryId=%REPOSITORY_ID% -Durl=%REPO_URL% 
mvn deploy:deploy-file -DgroupId=%GROUP_BASE%.jlib -DartifactId=jssl-1_1 -Dversion=%VERSION% -Dfile=%JDEV_HOME%/jlib/jssl-1_1.jar -Dpackaging=jar -DrepositoryId=%REPOSITORY_ID% -Durl=%REPO_URL% 
mvn deploy:deploy-file -DgroupId=%GROUP_BASE%.jlib -DartifactId=javax-ssl-1_1 -Dversion=%VERSION% -Dfile=%JDEV_HOME%/jlib/javax-ssl-1_1.jar -Dpackaging=jar -DrepositoryId=%REPOSITORY_ID% -Durl=%REPO_URL% 
+0

double possible de [exécution de plusieurs commandes à partir d'un script de Windows cmd] (http://stackoverflow.com/questions/197976/executing-multiple- commandes-from-a-windows-cmd-script) – Helen

Répondre

2

Essayez d'utiliser la commande CALL.

... 
call mvn deploy:deploy-file -DgroupId=%GROUP_BASE%.BC4J_lib -DartifactId=bc4jct -Dversion=%VERSION% -Dfile=%JDEV_HOME%/BC4J/lib/bc4jct.jar -Dpackaging=jar -DrepositoryId=%REPOSITORY_ID% -Durl=%REPO_URL% 
call mvn deploy:deploy-file -DgroupId=%GROUP_BASE%.BC4J_lib -DartifactId=adfm -Dversion=%VERSION% -Dfile=%JDEV_HOME%/BC4J/lib/adfm.jar -Dpackaging=jar -DrepositoryId=%REPOSITORY_ID% -Durl=%REPO_URL% 
... 

Si vous invoquez une commande sans utiliser CALL, le contrôle passe au-dessus du nouveau programme et ne retourne pas (dans votre exemple c'est ce qui se passe après la première mvn ...). CALL renvoie le contrôle à l'appelant et l'exécution continue avec l'instruction suivante.

+1

De même que 'start" "" Command Here "' si je ne me trompe pas. – Bobby

+0

@Bobby: "start" ouvre une nouvelle fenêtre CMD et je ne pense pas que vous vouliez une fenêtre pour chaque commande (surtout si vous en avez beaucoup: D). Je pense aussi que "démarrer" n'attend pas la fin du processus, mais je me trompe peut-être. –

+0

@dpb: Je n'ai jamais remarqué que celui-là ouvrirait un nouveau cmd. :/Aussi, je pensais que cela a été demandé, qu'il fonctionne 'asynchron' ... – Bobby

1

Essayez cette opération pour chaque ligne que vous exécutez mvn:

START /WAIT "" mvn deploy:deploy-file -DgroupId=%GROUP_BASE%.BC4J_lib -DartifactId=bc4jct -Dversion=%VERSION% -Dfile=%JDEV_HOME%/BC4J/lib/bc4jct.jar -Dpackaging=jar -DrepositoryId=%REPOSITORY_ID% -Durl=%REPO_URL% 
+0

Robs vous de tous sortie dans une seule fenêtre, cependant. Vous voudrez peut-être ajouter '/ B' aussi. – Joey

Questions connexes