Pregunta

¿Cómo creo un archivo de guerra de grails para que no tenga el número de versión

(por ejemplo, foo-0.1.war)

adjunto al final cuando ejecuto el comando 'grails war'?

¿Fue útil?

Solución

Creo que puedes especificar el nombre de guerra en el comando de guerra.

grails war foo.war

También puedes consultar 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.

Otros consejos

En caso de que alguien llegue a este artículo y esté utilizando Grails 1.3.x, la opción de configuración ha cambiado de grails.war.destFile en Config.groovy a ser < código> grails.project.war.file en BuildConfig.groovy .

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

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

Esto está de acuerdo con la última documentación de Grails .

De la Documentación de Grails , Capítulo 17, Implementación

  

También hay muchas formas en que puede personalizar el archivo WAR que está   creado. Por ejemplo, puede especificar   un camino (ya sea absoluto o relativo)   al comando que lo instruye donde   colocar el archivo y el nombre   dalo:

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

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

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

Por supuesto, cualquier argumento de línea de comando   que proporcionas anula esto   configuración.

Enrollando las otras excelentes respuestas. Hay varias opciones:

Establézcalo explícitamente en la línea de comando: grails war foo.war

Establezca la propiedad app.version para vaciar en application.properties hará que la guerra se llame foo.war .

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

Grails 3.x ha cambiado a gradle y usa el war plugin . Solo puede especificar un nombre como este en el archivo build.gradle :

war {
    archiveName 'foo.war'
}

Otra forma de generar archivos de guerra sin número de versión es mantener la propiedad, app.version , vacía en la aplicación.properties

Llego tarde a la fiesta ... pero de todos modos:

Creo que la razón para eliminar el número de versión es eliminar la necesidad de cambiar el nombre del archivo war para que se despliegue en " correcto " ruta de contexto / appName . Si ese es el caso, entonces una mejor opción es usar un nombre de archivo de guerra versionado para que pueda implementar múltiples versiones al mismo tiempo en Tomcat usando el siguiente patrón de denominación en grails-app / conf / BuildConfig.groovy :

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

Como se explica en http: //tomcat.apache. org / tomcat-7.0-doc / config / context.html # Parallel_deployment

Este método se aplica a las guerras en general, no solo a las guerras de los griales.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top