2009-09-16 8 views
6

En un pom.xml, si estamos tratando de compilar y crear un JAR, el nombre será tomado comoMaven defecto Separador

<artifactId>-<version>.jar 

¿Hay una propiedad o un ajuste que puede cambiar el separador predeterminado '-' para ¿algo más?

Sé que podemos cambiarle el nombre después de haber creado un jar (o usando finalName). Me preguntaba si alguien más lo intentó y tuvo éxito.

¡Muchas gracias de antemano!

Respuesta

9

No conozco ningún medio para cambiar el separador. Pero puede establecer el elemento finalName en su pom para que el jar salga al directorio de destino con ese nombre. Por ejemplo:

<build> 
    ... 
    <finalName>${project.artifactId}_${project.version}</finalName> 
    <!--this is the default value 
    <finalName>${artifactId}-${version}</finalName--> 
    ... 

Vale la pena señalar que el artefacto todavía se instalará/desplegado en el repositorio con el nombre predeterminado, independientemente de lo que se propuso en el elemento finalName.

Como Pascal comentó, permitir que las convenciones sean anuladas para artefactos instalados/desplegados causaría problemas para el mecanismo de dependencia (aún podría funcionar, pero se perderían los beneficios de la convención), por lo que cualquier ventaja en flexibilidad se compensaría gracias a la mayor complejidad y configuración de la configuración, es bastante complejo gracias.

+0

Gracias fue útil. Me preguntaba sobre una forma sin usar copy o finalName. – vpram86

+0

Puede usar un ensamblaje para crear un jar adicional, sin embargo, terminaría teniendo que especificar el elemento finalName en la configuración de ensamblaje. Consulte http://maven.apache.org/plugins/maven-assembly-plugin/single-mojo.html –

+3

. Es bueno que el artefacto todavía esté instalado/implementado en el repositorio con el nombre predeterminado o que rompería la dependencia. mecanismo de resolución. TBH, no veo el punto de cambiar esta convención ... –