2012-03-06 11 views
45

en uno de mis proyectos necesito construir un proyecto sin versión. Tengo un proyecto llamado commonjerseylib cuando lo construyo usando maven me estoy poniendo commonjerseylib-1.0.war pero necesito war file name commonjerseylib.warcómo construir proyectos con maven sin la versión

Quito la etiqueta de versión de pom pero todavía por defecto maven está creando con 1.0 versión.

gracias de antemano

<modelVersion>4.0.0</modelVersion> 
    <groupId>commonjerseylib</groupId> 
    <artifactId>commonjerseylib</artifactId> 
    <packaging>ear</packaging> 
    <name>commonjerseylib</name> 
    <!--<version>1.0</version>--> 

Respuesta

102

Siempre se necesitará un número de versión de un proyecto, sin embargo, es posible cambiar el nombre del paquete generado (JAR, WAR, EAR, etc.) a través de la <finalName> elemento en el POM.

<project> 
    ... 
    <build> 
     ... 
     <finalName>${project.artifactId}</finalName> 
     ... 
    </build> 
    ... 
</project> 

o en versiones anteriores del experto:

 ... 
     <finalName>${artifactId}</finalName> 
     ... 

Por defecto, el finalName es ${project.artifactId}-${project.version}, pero esto se puede cambiar a otra cosa. Esto solo afectará el nombre del paquete creado en el directorio target; el nombre del archivo en el repositorio local y cargado en los repositorios remotos siempre tendrá un número de versión.

Consulte el POM reference documentation para obtener más información.

+0

que es perfecto, claro y limpio! – Thomas

+6

Al menos Maven 3.0.3, $ {artifactId} está en desuso en favor de $ {project.artifactId}. – Glenn

+0

@prunge: Gracias por la respuesta. ¿Conoces alguna forma de hacerlo, ya que afecta al nombre del archivo en el repositorio local y repositorios remotos? – namalfernandolk

6

en el plugin de guerra experto en estructura, cambiar

<warName> ${artifactId} </warName> 

 <build> 
      .......... 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-war-plugin</artifactId> 
       <version>2.3</version> 
       <configuration> 
        <!-- web.xml is not mandatory since JavaEE 5 --> 
        <failOnMissingWebXml>false</failOnMissingWebXml> 
        <warName>${artifactId}</warName> 
       </configuration> 
      </plugin> 
     ............. 
     <build> 
Cuestiones relacionadas