windows - ejemplos - lista completa de comandos linux pdf
¿Por qué solo se ejecuta la primera línea de este archivo por lotes de Windows pero las tres líneas se ejecutan en un shell de comandos? (5)
Debería ser que el comando mvn
particular se mvn
y no retorne, por lo tanto, no ejecutará el resto de los comandos.
Tengo un archivo por lotes que ejecuta tres comandos Maven, uno después del otro. Cada comando se puede ejecutar con éxito en el script, ¡solo! Pero cuando agrego los tres comandos al mismo archivo, solo el primero se ejecuta antes de que el script salga. ¿Alguna idea de por qué?
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
Además, si copio los tres comandos y los pegé en un shell de comandos (cmd.exe), se ejecutarán uno tras otro sin problemas. Así que este es aparentemente un problema con el archivo de dos por lotes.
Intente escribir el siguiente archivo por lotes y ejecutarlo:
Echo one
cmd
Echo two
cmd
Echo three
cmd
Solo las primeras dos líneas se ejecutan. Pero si escribe "salir" en el símbolo del sistema, las siguientes dos líneas se procesan. Es un caparazón cargando otro.
Para asegurarse de que esto no es lo que está sucediendo en su secuencia de comandos, simplemente escriba "exit" cuando termine el primer comando.
HTH!
Maven usa archivos por lotes para hacer sus negocios. Con cualquier secuencia de comandos por lotes, debe llamar a otra secuencia de comandos mediante el comando de call
modo que sepa volver a la secuencia de comandos después de que se complete la secuencia de comandos llamada. Pruebe anteponer la call
a todos los comandos.
Otra cosa que podrías probar es usar el comando de start
que debería funcionar de manera similar.
Para ejecutar más construcciones de maven a partir de una secuencia de comandos, deberá usar la función de llamada de Windows de la siguiente manera:
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
Tener call
ayuda
Sin embargo, hoy no
Así es como lo resolví:
contenido del archivo bat (si desea detener el lote cuando uno de los errores de cmds)
cmd1 && ^
cmd2 && ^
cmd3 && ^
cmd4
contenido del archivo bat (si desea continuar el lote cuando uno de los errores de cmds)
cmd1 & ^
cmd2 & ^
cmd3 & ^
cmd4