Jan 19
Una nueva oportunidad para Maven
Durante los últimos meses he colaborado en algunos proyectos en los que Maven ha tenido un papel importante. Por mi lista de tareas anda la idea de realizar una pequeña encuesta a las personas que están interviniendo en estos proyectos para obtener algunas impresiones sobre las experiencias de uso con esta herramienta de construcción. Si el tiempo me lo permite, en los próximos días tendréis noticias sobre los resultados. Es evidente que para la realización de esta encuesta usaré Opina.
El jefe del Sv. Coordinación de Administración Electrónica de la Consejería de Justicia y Administración Pública, en coordinación con el Sv. Informática de la Consejería de Obras Públicas y Transportes, me propuso hace algún tiempo organizar un seminario sobre Maven. El serminario finalmente se celebró el pasado jueves 18 de enero en las instalaciones de la Consejería de Obras Públicas y Transportes.
La verdad es que aun no he tenido ninguna impresión de los asistentes pero lo que sí puedo decir es que si algo puede dar problemas durante un seminario o curso, los dará. Me equivoqué instalando la distribución de Eclipse IDE (a ver si los chicos de Eclipse no cambian tantas veces los tipos de distribuciones, parece que están nerviosos por lo que pueda estar haciendo la gente de Netbeans (es broma)). A continuación, por algún extraño motivo, no pude acceder el sistema de control de versiones a pesar de que Eclipse tenía correctamente configurado el proxy de salida. En fin, no me gustó demasiado como salieron algunas cosas. Me conformo con haber despertado la curiosidad de los asistentes por esta herramienta que sigo pensando que se le puede sacar mucho partido.
Para el seminario, a parte de realizar una breve presentación de la herramienta e intentar explicar posibles escenarios de uso, también prepraré un HelloMaven. Este HelloMaven es un pequeño proyecto Maven con el que pretendía guiar la parte práctica del seminario. Algunas de las cosas que se pueden ver en HelloMaven son:
- Definición del descriptor del proyecto: pom.xml
- Definición de perfiles: profiles.xml
- Contrucción de un “site” con la documentación técnica del proyecto
- Uso de algunos plugins: maven-compiler-plugin, maven-clean-plugin, maven-antrun-plugin, xdoclet-maven-plugin, etc…
Para el seminario también preparé un screencast que muestra como integrar Eclipse IDE con Maven y un cheat-sheet con las secciones más interesantes de un P.O.M.
Como es probable que en los próximos meses tenga que preparar nuevos ejemplos y casos de uso he creado un repositorio en un sistema de control de versiones. Los datos para acceder son:
- SCM: Subversion
- HOST: https://svn.scenesp.org/repos/HelloMaven/trunk
- USER: anonymous
- PASSWORD: anonymous
En el directorio docs/ está disponible un archivo de texto con algunas notas que ayudan a:
- Creación de un proyecto Maven
- Creación de la variable M2_REPO para que Eclipse IDE encuentre las librerías usadas por los proyectos
- Creación de un proyecto Eclipse IDE a partir de un proyecto Maven
- Instalación de JARs en repositorios locales








January 20th, 2007 at 20:30
Buenas, no consigo reproducir el screencast, lo he descargado dos veces y una horda de reproductores de video que tengo por aquí insiste en no reproducirlo. ¿A alguien más le pasa?
Un saludo.
January 20th, 2007 at 21:35
Hola Carlos:
Está codificado con MPEG4, con Windows Media no tuve problemas. En el MacOSX lo estoy viendo con VLC. Quizás sea suficiente con instalarte el codec correspondiente.
Si tienes muchos problemas me lo comentas y lo exporto a SWF o a otro formato más cómodo.
Un saludo
June 17th, 2007 at 16:12
Hola Manuel,estoy muy interesado en el uso de Maven y Continuum , y quería hacerte dos preguntas:
1-Es posible hacer un repositorio con Maven,de us compartido con Subversion? (si es así, ¿como?).
2-Una vez teniendo un repositorio central compartido por SVN y Maven con proyectos enteros, ¿puede Continuum acceder a los ficheros POM.xml alojados en dicho repositorio principal?
Muchas gracias por adelantado por tu atención.
June 17th, 2007 at 17:49
Hola Javier:
Siento mucho no poderte responder, pero es que no entiendo a qué te refieres con compartirlo son subversión.
Si me explicas de nuevo lo que pretendes hacer, gustosamente intentaré ayudarte.
Un saludo
June 17th, 2007 at 18:44
Siento no haberme expresado entendiblemente, de entrada, gracias por responder tan pronto:
Al no conocer plenamente estas herramientas, tengo dudas como, un repositorio creado con el subversion, es igualmente funcional para el maven y viceversa?, svn puede leer un repositorio creado con maven?
Y mi otra duda, era…si cuando desde el Continuum, en la opcion de abrir nuevo proyecto maven 2.x , cuando has de navegar para señalar un fichero POM.xml , puede acceder a lso POM de un repositorio svn? diria que si pues deben ser carpetas de directorio físicas,verdad?.
Nose..si habrás conseguido entender mis dudas ,o todo lo contrario…pero agradezco tu atención.
June 17th, 2007 at 19:34
Hola Javier:
Ahora creo que sí puedo darte algunas notas para aclarar un poco tus dudas.
Por un lado comentarte que los repositorios de un sistema de control de versiones (en este caso SVN) no tienen nada que ver con los repositorios que la herramienta Maven usa.
Sobre dar de alta proyectos de Maven2 en continuum, tienes varias opciones, todo depende de la configuración de tus herramientas de desarrollo. Lo normal es que tengas tu POM de forma local, es decir, en tu entorno de desarrollo local, y lo subas a continuum desde el formulario de alta de proyectos. En tu POM probablemente se encontrará la sección SCM que es donde se le dice a Maven cuál es el repositorio (Source Code Management) asociado al proyecto.
No dudes en seguir preguntando si tienes dudas.
Un saludo
June 17th, 2007 at 20:57
Gracias por tu apoyo, abusaré un poco más de tu disposición y atención:
Tenía la idea de que Subversion y Maven podrian trabajar con un mismo tipo de repositorio
(vi este comando :
mvn -Dmaven.scm.svn.config_directory=your_configuration_directory scm:update
en: http://maven.apache.org/scm/subversion.html )
Al margen de tener proyectos en local,referenciamos a su repositorio en el apartado smc del POM.No se si es posible que Continuum trabaje directamente con los proyectos del repositorio central, en lugar de trabajar con copias locales.O tal vez, continuum, solo está concevido para trabajar con copias que descarga del repositorio?
Gracias.
June 17th, 2007 at 21:25
Hola Javier:
Pues no, los repositorios de maven no tienen nada que ver con los repositorios de subversion. Tienen estructuras muy distintas y están diseñados para cosas muy distintas.
La referencia (url) que indicas, si lees detenidamente, explica cómo configurar la sección SCM que antes te comentaba. En esta sección precisamente configurar cuál es el repositorio de tu sistema de control de versiones que para herramientas como continuum sepan de donde se tiene que descargar los fuentes para construir tu proyecto.
Básicamente lo que hará continuum será crear una copia de trabajo local haciendo un checkout, y posteriormente ejecutará la tarea que se le indique.
Sería conveniente que hicieran un pequeño esquema de su sistema localizando tu repositorio svn, continuum, etc.
Un saludi
June 18th, 2007 at 11:22
Buenos días y gracias por todo Manuel, los programadores del proyecto pensaban que se podía administrar directamente el repositorio desde Continuum.
Me gustaría saber si podrias concretarme en tres lineas como hacer que los protectos en Maven usen un repositorio SVN.
¿Solo hay que escribir lineas especificas en el POM de cada proyecto?, o tal vez ¿tambien se tendrá que configurar el subversion?
Espero tu respuesta.
Saludos
June 18th, 2007 at 11:43
Hola Javier:
La configuración de la sección SCM de un archivo POM es simple. Echale un ojo a la referencia [1] que no tiene pérdida.
En subversion no hay que configurar nada. En todo caso el usuario con el que pretendes conectarte.
Un saludo
[1] http://maven.apache.org/ref/current/maven-model/maven.html#class_scm