2008-10-02 8 views

Respuesta

33

Creo que puede especificar el nombre de guerra en el comando war.

grails war foo.war 

Consulte también la última documentación de Grails para saber dónde configurar esto como una opción de configuración. Vea las otras respuestas para más detalles.

+3

Nota al margen: al hacerlo, por defecto el archivo WAR no será compilado en el directorio 'target' como era de esperar, pero el directorio del proyecto. Sin embargo, también puede especificar la ruta, consulte http://grails.org/doc/2.2.1/ref/Command%20Line/war.html – peterp

+0

Esto no funciona en Grails 3.3.2 –

9

Desde el Grails Documentation, Capítulo 17, Implementación

También hay muchas maneras en las que puede personalizar el archivo WAR que se creado. Por ejemplo, puede especificar un camino (absoluta o relativa) al comando que indica que cuando para colocar el archivo y qué nombre darle:

grails war /opt/java/tomcat-5.5.24/foobar.war 

Alternativamente, se puede añadir una línea a Config.groovy que cambia la ubicación predeterminada y nombre de archivo:

grails.war.destFile = "foobar-prod.war" 

Por supuesto, cualquier argumento de la línea de comandos que proporcione reemplaza este ajuste.

+2

Esta es en realidad la mejor respuesta –

0

Otra manera de generar archivos de guerra sin número de versión es mantener la propiedad, app.version, vacío en las application.properties

+0

Esto funciona y es la mejor respuesta, porque es la fuente principal de esa información. – Tobia

5

enrollando las otras excelentes respuestas. Hay varias opciones:

explícitamente establecido en la línea de comandos: grails war foo.war

Establecer la propiedad app.version para vaciar en application.properties hará que la guerra no ser identificado foo.war.

establecer explícitamente el nombre de la guerra mediante la propiedad grails.war.destFile en Config.groovy

40

En caso de que alguien se encuentra con este artículo y está utilizando Griales 1.3.x, la opción de configuración ha cambiado desde grails.war.destFile en Config.groovy de ser grails.project.war.file en BuildConfig.groovy.

también el nombre del archivo es relativo al espacio de trabajo del proyecto, por lo que debe tener un valor como:

grails.project.war.file = "target/${appName}.war"

Esto es de acuerdo a la última Grails documentation.

+1

esto también es relevante para grails 2.x – winna

2

Grails 3.x ha cambiado a gradle y usa el complemento war. Sólo se puede especificar el nombre de este tipo en el archivo build.gradle:

war { 
    archiveName 'foo.war' 
} 
+1

Para Grails 3, debe utilizar 'archiveName' en lugar de 'archive'. https://stackoverflow.com/questions/33621966/create-grails-3-war-without-version-number – Zan

+0

buena captura. Actualicé el código de muestra. – j4y

Cuestiones relacionadas