f?:@'.$&2& %g&1'210*%a'*5% h&$02'$$%!5&102$%!,ij · crud »...

9
Avenida de Castilla,1 - Edificio Best Point - Oficina 21B 28830 San Fernando de Henares (Madrid) tel./fax: +34 91 675 33 06 [email protected] - www.autentia.com Somos su empresa de Soporte a Desarrollo Informático. Ese apoyo que siempre quiso tener... 1. Desarrollo de componentes y proyectos a medida Tecnología Desarrollo Sistemas Gran Empresa Producción autentia Certificación o Pruebas Verificación previa RFP Concurso Consultora 1 Consultora 2 Consultora 3 Equipo propio desarrollo Piloto 3a 3b 1. Definición de frameworks corporativos. 2. Transferencia de conocimiento de nuevas arquitecturas. 3. Soporte al arranque de proyectos. 4. Auditoría preventiva periódica de calidad. 5. Revisión previa a la certificación de proyectos. 6. Extensión de capacidad de equipos de calidad. 7. Identificación de problemas en producción. 3. Arranque de proyectos basados en nuevas tecnologías ¿Qué ofrece Autentia Real Business Solutions S.L? Para más información visítenos en: www.autentia.com Compartimos nuestro conociemiento en: www.adictosaltrabajo.com Gestor portales (Liferay) Gestor de contenidos (Alfresco) Aplicaciones híbridas Tareas programadas (Quartz) Gestor documental (Alfresco) Inversión de control (Spring) BPM (jBPM o Bonita) Generación de informes (JasperReport) ESB (Open ESB) Control de autenticación y acceso (Spring Security) UDDI Web Services Rest Services Social SSO SSO (Cas) Spring MVC, JSF-PrimeFaces /RichFaces, HTML5, CSS3, JavaScript-jQuery JPA-Hibernate, MyBatis Motor de búsqueda empresarial (Solr) ETL (Talend) Dirección de Proyectos Informáticos. Metodologías ágiles Patrones de diseño TDD 2. Auditoría de código y recomendaciones de mejora 4. Cursos de formación (impartidos por desarrolladores en activo)

Upload: phambao

Post on 14-Feb-2019

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: F?:@'.$&2& %G&1'210*%A'*5% H&$02'$$%!5&102$%!,IJ · CRUD » Ejemplo JSF 2.0 con MyFaces Trinidad, Ajax y Maven » Acciones JSF basadas en clases internas de Java » Rendimiento en

Avenida de Castilla,1 - Edificio Best Point - Oficina 21B28830 San Fernando de Henares (Madrid)

tel./fax: +34 91 675 33 [email protected] - www.autentia.com

Somos su empresa de Soporte a Desarrollo Informático.Ese apoyo que siempre quiso tener...

1. Desarrollo de componentes y proyectos a medida

TecnologíaDesarrolloSistemas

Gran Empresa

Producción

autentia

Certificacióno Pruebas

Verificación previa

RFP Concurso

Consultora 1

Consultora 2

Consultora 3

Equipo propio desarrolloPiloto

3a

3b

1. Definición de frameworks corporativos.2. Transferencia de conocimiento de nuevas arquitecturas.3. Soporte al arranque de proyectos.4. Auditoría preventiva periódica de calidad.5. Revisión previa a la certificación de proyectos.6. Extensión de capacidad de equipos de calidad.7. Identificación de problemas en producción.

3. Arranque de proyectos basados en nuevas tecnologías

¿Qué ofrece Autentia Real Business Solutions S.L?

Para más información visítenos en: www.autentia.com

Compartimos nuestro conociemiento en: www.adictosaltrabajo.com

Gestor portales (Liferay)Gestor de contenidos (Alfresco)Aplicaciones híbridas

Tareas programadas (Quartz)Gestor documental (Alfresco)Inversión de control (Spring)

BPM (jBPM o Bonita)Generación de informes (JasperReport)ESB (Open ESB)

Control de autenticación y acceso (Spring Security)UDDIWeb ServicesRest ServicesSocial SSOSSO (Cas)

Spring MVC, JSF-PrimeFaces /RichFaces, HTML5, CSS3, JavaScript-jQuery

JPA-Hibernate, MyBatisMotor de búsqueda empresarial (Solr)ETL (Talend)

Dirección de Proyectos Informáticos.Metodologías ágilesPatrones de diseñoTDD

2. Auditoría de código y recomendaciones de mejora

4. Cursos de formación (impartidos por desarrolladores en activo)

Page 2: F?:@'.$&2& %G&1'210*%A'*5% H&$02'$$%!5&102$%!,IJ · CRUD » Ejemplo JSF 2.0 con MyFaces Trinidad, Ajax y Maven » Acciones JSF basadas en clases internas de Java » Rendimiento en

2/7/2014 Menu.bat Una forma cómoda de ejecutar comandos y aplicaciones, por ejemplo para Maven

http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=menu-bat 1/8

Entra en Adictos a través de

Entrar

E-­mail

Contraseña

RegistrarmeOlvidé mi contraseña

Inicio Quiénes somos Formación Comparador de salarios Nuestros libros Más

» Estás en: Inicio Tutoriales Menu.bat Una forma cómoda de ejecutar comandos y aplicaciones, por ejemplo ...

Síguenos a través de:

Catálogo de servicios

Autentia

Últimas Noticias

» Screencasts deprogramación narrados enEspañol

» Sorteo de entradas paraAPIdays Mediterranea

» Concurso del Día de laMadre:

» Aprende gratisReactiveCocoa

» Checklist de Scrum deAutentia

Histórico de noticias

Últimos Tutoriales

» Introducción a Groovy yGrails con Maven: el patrónCRUD

» Testing de Hadoop conMRUnit

» Dart, el lenguaje deprogramación web del futurocreado por Google

» Cómo integrar en Gradleun servidor Jetty o Tomcat

» Taller de Ventas

Ver todos los tutoriales del autor

Cristóbal González AlmirónConsultor de desarrollo de proyectos informáticos. Suexperiencia profesional se ha desarrollado en empresas como Compaq, HP,Mapfre, Endesa, Repsol, Universidad Autónoma de Madrid, en las áreas deDesarrollo de Software (Orientado a Objetos), tecnologías de Internet, Técnica deSistemas de alta disponibilidad y formación a usuarios.

Fecha de publicación del tutorial: 2014-­07-­01 Tutorial visitado 145 veces Descargar en PDF

Menu.bat Una forma cómoda de ejecutar comandos y

aplicaciones, por ejemplo para Maven

Índice de contenidos

1. Introducción2. Ventajas de usar el menu.bat en los desarrollos3. El menú menu.bat4. Añadiendo una opción de menú5. Un menu.bat de producción6. Portarlo a Linux y Unix7. Conclusión

1. Introducción

El trabajo diario con entornos de desarrollo complejos normalmente está plagado de tareas repetitivas que se debenrealizar, muchas de las cuales se realizan mediante ficheros de procesos por lotes o scripts en Windows o Unix.

Para resolver este problema he creado un menú genérico en formato Windows que es muy fácil de modificar,añadiéndole funcionalidades. Este menú organiza la forma de ejecuta tareas, comandos y aplicaciones repetitivas ocomunes.

Como responsable de desarrollo para diversas empresas siempre que comienzo un proyecto y organizo el entono dedesarrollo me creo un pequeño menú.bat. Este archivo lo coloco siempre en la raíz del código fuente del proyecto, demanera que se sube al control de versiones con el resto del proyecto.

Puede parecer simple, pero los que lo prueban, y lo digo por experiencia, cuando comienzan un nuevo proyecto Mavenlo primero que hacen es copiar mi menú.bat y modifícalo...

2. Ventajas de usar el menu.bat en los desarrollos

El hecho de utilizar este menú en los desarrollos tiene varias ventajas:

Acelera las tareas repetitivas. Por ejemplo podemos crear opciones de menú para compilar, probar, desplegar,compilar y probar con otras condiciones o perfiles, etc.Se integra dentro del código fuente del proyecto con facilidad y su mantenimiento y control de versiones es simple.Documenta claramente qué tareas se han definido dentro del entorno de desarrollo.No requiere instalar software adicional en el PC de desarrollo.Facilitar la curva de aprendizaje cuando se incorpora un nuevo miembro al proyecto.Está preparado para Windows 7 y XP, aunque se puede portar con facilidad a otros entornos.Se puede realizar fácilmente la versión Unix para la Shell.

3. El menú menu.bat

Vamos a comenzar por una versión simple:

12345

@echo offecho ########################################################echo .echo . menu.bat Meny para ejecución sencilla de tareasecho . (C) Cristobal Gonzalez Almiron 2014

?

Page 3: F?:@'.$&2& %G&1'210*%A'*5% H&$02'$$%!5&102$%!,IJ · CRUD » Ejemplo JSF 2.0 con MyFaces Trinidad, Ajax y Maven » Acciones JSF basadas en clases internas de Java » Rendimiento en

2/7/2014 Menu.bat Una forma cómoda de ejecutar comandos y aplicaciones, por ejemplo para Maven

http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=menu-bat 2/8

Últimos Tutoriales del

Autor

» Introducción a Groovy yGrails con Maven: el patrónCRUD

» Ejemplo JSF 2.0 conMyFaces Trinidad, Ajax yMaven

» Acciones JSF basadas enclases internas de Java

» Rendimiento en espacio ytransferencia de un servidorSubversion

» Instalación de subversion

Al ejecutar el menu.bat nos aparece esta ventana de comandos:

678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697

echo .echo ########################################################echo . rem ######################################################## rem #### Subcommands executionIF NOT "%1"=="" GOTO subcomandos rem ######################################################## :menu_startrem Variables actualesrem Añaecho .echo . -­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­echo . Menu JDYNAMICSecho . -­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­set OPTION=1SET CHOICE= :menuset CHOICES=rem only for debbugingrem echo CHOICE: %CHOICE%rem OPTION: %OPTION% rem ########################################################rem Opciones de menúrem ######################################################## set LABEL=compilarLimpioset TEXT=Compilar proyectoset KEY=0if "%CHOICE%"=="" echo . %KEY%. %TEXT% if "%OPTION%"=="%CHOICE%" OPCION ELEGIDA: %KEY%. %TEXT% if "%OPTION%"=="%CHOICE%" start %CD%\menu.bat %LABEL%if "%OPTION%"=="%CHOICE%" goto menu_startset CHOICES=%CHOICES%%KEY%set /a "OPTION+=1" rem ######################################################## echo .choice /C %CHOICES%set CHOICE=%errorlevel%set OPTION=1goto menu rem ########################################################rem rem Subcomandos externos: se ejecutan en procesos separadosrem rem ######################################################## :subcomandosecho . -­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­echo . Menu jdynamics . Subcomando %1echo . -­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­ rem Ejecución del subcomandogoto %1 echo .echo ERROR. Subcomando no reconocido %1echo . pausegoto end rem ########################################################ren Subcomandosrem ######################################################## :compilarLimpiocall mvn clean installgoto end rem ######################################################## :endpauseexit

Page 4: F?:@'.$&2& %G&1'210*%A'*5% H&$02'$$%!5&102$%!,IJ · CRUD » Ejemplo JSF 2.0 con MyFaces Trinidad, Ajax y Maven » Acciones JSF basadas en clases internas de Java » Rendimiento en

2/7/2014 Menu.bat Una forma cómoda de ejecutar comandos y aplicaciones, por ejemplo para Maven

http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=menu-bat 3/8

Cuando pulsemos sobre la opción 0 se abrirá una ventana adicional y comenzará la ejecución del subcomando,permaneciendo siempre abierto el menu.bat. De esta manera podremos lanzar las opciones del menú a conveniencia.

4. Añadiendo una opción de menú

Bien, ya tenemos nuestro menú básico. Vamos a añadirle una opción de menú. Además lo vamos a hacer con un pocode gracia:

La opción de menú debe ejecutar el comando "mvn jetty:run" que inicia un servidor de aplicaciones en local.Además queremos abrir un navegador con la dirección http://localhost:8080/miapp/ automáticamenteComo premio, queremos que además el navegador tarde unos segundos en abrirse, pues queremos que le détiempo a la aplicación a levantarse.

Esto es lo que he añadido:

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950

@echo offecho ########################################################echo .echo . menu.bat Meny para ejecución sencilla de tareasecho . (C) Cristobal Gonzalez Almiron 2014echo .echo ########################################################echo . rem ######################################################## rem #### Subcommands executionIF NOT "%1"=="" GOTO subcomandos rem ######################################################## :menu_startrem Variables actualesrem Añaecho .echo . -­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­echo . Menu JDYNAMICSecho . -­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­set OPTION=1SET CHOICE= :menuset CHOICES=rem only for debbugingrem echo CHOICE: %CHOICE%rem OPTION: %OPTION% rem ########################################################rem Opciones de menúrem ######################################################## set LABEL=compilarLimpioset TEXT=Compilar proyectoset KEY=0if "%CHOICE%"=="" echo . %KEY%. %TEXT% if "%OPTION%"=="%CHOICE%" OPCION ELEGIDA: %KEY%. %TEXT% if "%OPTION%"=="%CHOICE%" start %CD%\menu.bat %LABEL%if "%OPTION%"=="%CHOICE%" goto menu_startset CHOICES=%CHOICES%%KEY%set /a "OPTION+=1"

?

Page 5: F?:@'.$&2& %G&1'210*%A'*5% H&$02'$$%!5&102$%!,IJ · CRUD » Ejemplo JSF 2.0 con MyFaces Trinidad, Ajax y Maven » Acciones JSF basadas en clases internas de Java » Rendimiento en

2/7/2014 Menu.bat Una forma cómoda de ejecutar comandos y aplicaciones, por ejemplo para Maven

http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=menu-bat 4/8

La ejecución del menú ahora muestra lo siguiente:

Hemos añadido tres cosas:

51525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117

set LABEL=ejecutarset TEXT=Ejecutar proyectoset KEY=rif "%CHOICE%"=="" echo . %KEY%. %TEXT% if "%OPTION%"=="%CHOICE%" OPCION ELEGIDA: %KEY%. %TEXT% if "%OPTION%"=="%CHOICE%" start %CD%\menu.bat %LABEL%if "%OPTION%"=="%CHOICE%" goto menu_startset CHOICES=%CHOICES%%KEY%set /a "OPTION+=1" rem ######################################################## echo .choice /C %CHOICES%set CHOICE=%errorlevel%set OPTION=1goto menu rem ########################################################rem rem Subcomandos externos: se ejecutan en procesos separadosrem rem ######################################################## :subcomandosecho . -­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­echo . Menu jdynamics . Subcomando %1echo . -­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­ rem Ejecución del subcomandogoto %1 echo .echo ERROR. Subcomando no reconocido %1echo . pausegoto end rem ########################################################ren Subcomandosrem ######################################################## :explorertimeout %3start iexplore.exe %2exit 0 :compilarLimpiocall mvn clean installgoto end :ejecutarstart menu.bat explorer http://localhost:8080/miapp/ 35call mvn clean install jetty:rungoto end rem ######################################################## :endpauseexit

Page 6: F?:@'.$&2& %G&1'210*%A'*5% H&$02'$$%!5&102$%!,IJ · CRUD » Ejemplo JSF 2.0 con MyFaces Trinidad, Ajax y Maven » Acciones JSF basadas en clases internas de Java » Rendimiento en

2/7/2014 Menu.bat Una forma cómoda de ejecutar comandos y aplicaciones, por ejemplo para Maven

http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=menu-bat 5/8

Una nueva opción dentro del menú principal. Simplemente hemos copiado y pegado una opción ya existente yhemos modificado las tres primeras líneas de la nueva opción.Hemos añadido el subcomando "ejecutar"También hemos añadido el subcoamndo "explorer", que será llamado desde el subcomando "ejecutar"

Y para los aventureros: ¿porqué abro el navegador antes de ejecutar el comando "mvn clean install jetty:run"?

5. Un menu.bat de producción

Os dejo un ejemplo real de un menu.bat un poco más largo. Si lo estudiáis veréis varias técnicas útiles para vuestrosproyectos:

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495

@echo offecho ########################################################echo .echo . menu.bat Meny para ejecución sencilla de tareasecho . (C) Cristobal Gonzalez Almiron 2014echo .echo ########################################################echo .rem obtener la unidad actual conservando la ruta actualIF NOT DEFINED JDYNAMICS_PATH SET JDYNAMICS_PATH=%CD%cd \set ROOT_DRIVE=%CD%cd /D %JDYNAMICS_PATH% rem Varaiables de entorno por defecto IF NOT DEFINED JAVA_HOME SET JAVA_HOME=C:\Program Files\Java\jdk1.6.0_25IF NOT DEFINED MVN_PATH set PATH=%ROOT_DRIVE%apps\apache-­maven-­2.2.1\bin;;%PATH%IF NOT DEFINED MVN_PATH SET MVN_PATH=%ROOT_DRIVE%apps\apache-­maven-­2.2.1\binIF NOT DEFINED MYSQL_PATH SET MYSQL_PATH="c:\Program Files\MySQL\MySQL Server 5.1\bin"IF NOT DEFINED TARGET SET TARGET=%JDYNAMICS_PATH%\target rem Opciones de Mavenrem set MAVEN_OPTS="-­Dfile.encoding=ISO-­8859-­1"IF NOT DEFINED MAVEN_SETTINGS set MAVEN_SETTINGS=-­s%JDYNAMICS_PATH%\settings.xmlIF NOT DEFINED MAVEN_OFFLINE SET MAVEN_OFFLINE=-­orem -­ Por defecto aumentamos la memoria para evitar problemas de PermGenrem -­ Si es necesario aumentar o midificar estas opciones a medida que el rem proyecto se compliqueif not defined MAVEN_OPTS set MAVEN_OPTS="-­XX:MaxPermSize=1024m" rem ######################################################## rem #### Subcommands executionIF NOT "%1"=="" GOTO subcomandos rem ######################################################## echo Variables iniciales:echo ROOT_DRIVE=%ROOT_DRIVE%echo CD=%CD%echo JAVA_HOME=%JAVA_HOME%echo JDYNAMICS_PATH=%JDYNAMICS_PATH%echo MAVEN_OPTS=%MAVEN_OPTS%echo MAVEN_SETTINGS=%MAVEN_SETTINGS%echo MAVEN_OFFLINE=%MAVEN_OFFLINE%echo MYSQL_PATH=%MYSQL_PATH% :menu_startrem Variables actualesrem Añaecho .echo . -­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­echo . Menu JDYNAMICSecho . -­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­set OPTION=1SET CHOICE= :menuset CHOICES=rem only for debbugingrem echo CHOICE: %CHOICE%rem OPTION: %OPTION% rem ########################################################rem Opciones de menúrem ######################################################## set LABEL=compilarLimpioset TEXT=Compilar Jdynbamics completo limpiando .m2/repositories/es/com/jdynamicsset KEY=0if "%CHOICE%"=="" echo . %KEY%. %TEXT% if "%OPTION%"=="%CHOICE%" OPCION ELEGIDA: %KEY%. %TEXT% if "%OPTION%"=="%CHOICE%" start %CD%\menu.bat %LABEL%if "%OPTION%"=="%CHOICE%" goto menu_startset CHOICES=%CHOICES%%KEY%set /a "OPTION+=1" set LABEL=compilarcoreset TEXT=Compilar Jdynbamics Main y Coreset KEY=1if "%CHOICE%"=="" echo . %KEY%. %TEXT% if "%OPTION%"=="%CHOICE%" echo OPCION ELEGIDA: %KEY%. %TEXT% if "%OPTION%"=="%CHOICE%" start %CD%\menu.bat %LABEL%if "%OPTION%"=="%CHOICE%" goto menu_startset CHOICES=%CHOICES%%KEY%set /a "OPTION+=1" set LABEL=compilarcoremgrset TEXT=Compilar Jdynbamics Core Manager

?

Page 7: F?:@'.$&2& %G&1'210*%A'*5% H&$02'$$%!5&102$%!,IJ · CRUD » Ejemplo JSF 2.0 con MyFaces Trinidad, Ajax y Maven » Acciones JSF basadas en clases internas de Java » Rendimiento en

2/7/2014 Menu.bat Una forma cómoda de ejecutar comandos y aplicaciones, por ejemplo para Maven

http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=menu-bat 6/8

96979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204

set KEY=2if "%CHOICE%"=="" echo . %KEY%. %TEXT% if "%OPTION%"=="%CHOICE%" echo OPCION ELEGIDA: %KEY%. %TEXT% if "%OPTION%"=="%CHOICE%" start %CD%\menu.bat %LABEL%if "%OPTION%"=="%CHOICE%" goto menu_startset CHOICES=%CHOICES%%KEY%set /a "OPTION+=1" echo . set LABEL=testjdynamicsbuilderset TEXT=Tests Unitarios Jdynbamics Builderset KEY=tif "%CHOICE%"=="" echo . %KEY%. %TEXT% if "%OPTION%"=="%CHOICE%" echo OPCION ELEGIDA: %KEY%. %TEXT% if "%OPTION%"=="%CHOICE%" start %CD%\menu.bat %LABEL%if "%OPTION%"=="%CHOICE%" goto menu_startset CHOICES=%CHOICES%%KEY%set /a "OPTION+=1" echo . set LABEL=compilarjdadminset TEXT=Compilar Jdynbamics JDAdmin para JSF2set KEY=jif "%CHOICE%"=="" echo . %KEY%. %TEXT% if "%OPTION%"=="%CHOICE%" echo OPCION ELEGIDA: %KEY%. %TEXT% if "%OPTION%"=="%CHOICE%" start %CD%\menu.bat %LABEL%if "%OPTION%"=="%CHOICE%" goto menu_startset CHOICES=%CHOICES%%KEY%set /a "OPTION+=1" echo . set LABEL=compilarwebcontrol2set TEXT=Compilar Jdynbamics Webcontrol V2 para JSF2set KEY=wif "%CHOICE%"=="" echo . %KEY%. %TEXT% if "%OPTION%"=="%CHOICE%" echo OPCION ELEGIDA: %KEY%. %TEXT% if "%OPTION%"=="%CHOICE%" start %CD%\menu.bat %LABEL%if "%OPTION%"=="%CHOICE%" goto menu_startset CHOICES=%CHOICES%%KEY%set /a "OPTION+=1" rem ######################################################## echo .choice /C %CHOICES%set CHOICE=%errorlevel%set OPTION=1goto menu rem ########################################################rem rem Subcomandos externos: se ejecutan en procesos separadosrem rem ######################################################## :subcomandosecho . -­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­echo . Menu jdynamics . Subcomando %1echo . -­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­-­echo MAVEN_OPTS=%MAVEN_OPTS% rem Ejecución del subcomandogoto %1 echo .echo ERROR. Subcomando no reconocido %1echo . pausegoto end rem ########################################################ren Subcomandosrem ######################################################## :explorertimeout %3start iexplore.exe %2exit 0 :compilarLimpiormdir /s /q %USERPROFILE%\.m2\repository\es\com\jdynamicsif "%errorlevel%"=="0" echo Repositorio maven local borradocall mvn clean installgoto end :compilarcorecd jdynamics-­maincall mvn clean installcd ..\jdynamics-­corecall mvn clean installgoto end :compilarcoremgrcd jdynamics-­coremgrcall mvn clean installgoto end :compilarwebcontrolstart menu.bat explorer http://localhost:8080/webcontrol/ 35cd webcontrolcall mvn clean install dependency:analyze jetty:run

Page 8: F?:@'.$&2& %G&1'210*%A'*5% H&$02'$$%!5&102$%!,IJ · CRUD » Ejemplo JSF 2.0 con MyFaces Trinidad, Ajax y Maven » Acciones JSF basadas en clases internas de Java » Rendimiento en

2/7/2014 Menu.bat Una forma cómoda de ejecutar comandos y aplicaciones, por ejemplo para Maven

http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=menu-bat 7/8

Y el resultado en pantalla es:

Algunas cosas interesantes:

Suelo añadir una opción 0 al principio que limpia todo y recompila todo. Le solemos llamar el "cerapio", puescuando tienes problemas de compilación, de bibliotecas, etc, basta darle al “cerapio†para que muchos deellos desaparezcan. Sirve además como "prueba del algodón", es decir, actualizo desde control de versiones, ledoy al cerapio y luego ejecuto lo que ha desarrollado otro.Hay técnicas usadas en proyectos Maven multimódulo, por ejemplo con cambios de directorio, ejecución depruebas unitarias, uso de perfiles específicos, etc.Preparo variables de entorno previas a la ejecución de los subcomandos, incluyendo la ruta y unidad actual

6. Portarlo a Linux y Unix

No es nada difícil portar este tipo de menú a Shell script de Unix. Pero eso os lo dejo de ejercicio.

7. Conclusión

En este tutorial hemos aprendido a crear un menú para nuestros desarrollos sobre Windows, de forma muy sencilla yque documenta claramente las tareas de desarrollo habituales. De esta forma facilitamos el desarrollo a todos losmiembros del proyecto.

A partir de ahora en nuestros proyecto probablemente siempre pongamos en el directorio raíz un "menu.bat"

A continuación puedes evaluarlo:

205206207208209210211212213214215216217218219220221222223224225226227228229

goto end :compilarwebcontrol2start menu.bat explorer http://localhost:8080/jdynamics/webcontrol/main.xhtml 35cd webcontrol2call mvn clean install dependency:analyze jetty:rungoto end :compilarjdadminstart menu.bat explorer http://localhost:8080/jdynamics/jdadmin/main.xhtml 35cd jdadmincall mvn clean install dependency:analyze-­report dependency:analyze jetty:rungoto end :testjdynamicsbuildercd jdynamics-­buildercall mvn clean test dependency:analyze -­DskipTests=false -­Dtest=PageBuilderTest#testPageBuilder_childrengoto end :endpauseexit

Page 9: F?:@'.$&2& %G&1'210*%A'*5% H&$02'$$%!5&102$%!,IJ · CRUD » Ejemplo JSF 2.0 con MyFaces Trinidad, Ajax y Maven » Acciones JSF basadas en clases internas de Java » Rendimiento en

2/7/2014 Menu.bat Una forma cómoda de ejecutar comandos y aplicaciones, por ejemplo para Maven

http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=menu-bat 8/8

Esta obra está licenciada bajo licencia Creative Commons de Reconocimiento-­No comercial-­Sin obras derivadas 2.5

IMPULSA Impulsores Comunidad ¿Ayuda?

----sin clicks + + + + + + + +

0 personas han traído clicks a esta página

powered by karmacracy

Share | 0

» Registrate y accede a esta y otras ventajas «

Anímate y coméntanos lo que pienses sobre este TUTORIAL:

Regístrate para evaluarlo

Por favor, vota +1 o compártelo si te pareció interesante

More ShareShareShareShareShareShare

Copyright 2003-­2014 © All Rights Reserved | Texto legal y condiciones de uso | Banners | Powered by Autentia | Contacto