miércoles, 1 de enero de 2014

Eliminar números de versión en dependencias jar con maven

Por alguna razón deseas eliminar los números de versión que tienen las dependencias de tu ear o de tu war, en maven existen plugins con los que puedes realizar la tarea.


En general no es una buena idea quitar los números de versión de los nombres, nos puede ubicar rápidamente en el contexto de nuestra aplicación Primero veremos como se realiza en un ear.
En el POM encargado de generar el ear se debe agregar dentro del tal build el plugin maven ear plugin, por ejemplo:

 

  
   
    maven-ear-plugin
    2.6
    
        elnombredelarchivoear
     lib/
     
      
       true
      
     
     
        
           cl.migrupo
           mis-ejbs
           mis-ejbs.jar
        
        
                         org.mybatis
                         mybatis
                         mybatis.jar
        
     
    
   
        
                            


Aquí podemos ver, que se pueden renombrar tanto los componentes propios, como componentes externos, lo único malo de este método es que deben ir elemento a elemento renombrando, pero a cambio tienen un control excelente, notese que para los jar existe un tag y para los ejb otro tag

Ahora veremos la solución para un WAR, los WAR tienen un plugin similar, pero la solución se aborda de manera diferente.

    pw-mfeSoporteVentas
        
            
                ${basedir}/src/main/resources
            
        
        
             
                org.apache.maven.plugins 
                maven-war-plugin 
                2.4 
                 
                  false 
                  @{artifactId}@.@{extension}@ 
                 
             
          


Podemos ver que es mucho mas sencilla la solución para los WAR, que con un solo tag, remombramos todas dependencias, es mas rápido pero tenemos menos control, notese que los patrones van rodeados de arroba y no con un signo peso, encontré muchas referencia a trabajar con el signo peso, pero al final no funcionaban como necesitaba.