Skip to content
jfelicianoat edited this page May 22, 2015 · 13 revisions

MAVEN desde el punto de vista del programador

Infierno de los JAR

  • Antes de MAVEN se incluían los Jar en cada proyecto en el build path
  • Con Maven no hay que controlar las relaciones o necesidades de un JAR con otros. Maven se encarga de hacerlo por nosotros.
    
  • Entonces, ¿con Maven se soluciona el infierno de los JAR? No del todo....
    
  • Maven-->Update Project (con "Force Update of Snapshots/Releases" marcado)
    
  • C:\Users\Usuario.m2\repository\com\compañia\departamento\listados-core\0.0.7-SNAPSHOT

Pom.xml

Un único fichero para dominarlos a todos, pero cada proyecto necesita el suyo propio para ser dominado

Deploy(Snapshots y release)

  1.     Project-->Clean…
    
  2.     Run As-->Maven Clean
    
  3.     Run As-->Maven Build… (Especificando que quieres hacer deploy en el campo Goals)
    
  4.  Como en el POM se referencia a un Snapshot, se hará deploy sobre ese snapshot
    

Caso real

Eclipse, SVN repository y Sonatype Nexus Maven Repository Manager.

Tenemos que mantener compatibilidad de versiones (Eclipse, Maven etc) con otras empresas. Por lo que no podemos actualizar a las últimas versiones sin un consenso con el resto de las empresas.

Organización de proyectos:

  •   Departamento-Web(páginas, controler y view)
    
  •   Listados-Core -->Entity(objeto que recogerá los datos de la consulta a la BD)
      	      -->ParamConsulta(parámetros que se le pasa a la consulta)
      	      -->DAO, interface e implementación (Hibernate. Métodos que atacan la BD)
    
  •   Departamento-Listados -->Manager, interface e implementación
                                      -->Body(métodos de formateo de datos, fechas etc)
    
  •             Departamento-core-->Tablas auxiliares
    

Dependencias entre proyectos:

  • Departamento-Web usa Listados-Core, Departamento-Listados y Departamento-core.
  • Departamento-Listados usa Listados-Core y Departamento-core.
  • Listados-Core usa Departamento-Core.

Solución al problema de dependencias de proyectos:

    Departamento-pom