# run-war

## Purpose

Packages the current Grails application into a Web Application Archive (WAR) file and runs the application in a Tomcat container on port `8080`.

## Examples

    grails run-war
    grails run-war -https // with HTTPS
    grails run-war -restart // restarts without rebuilding the war
    grails prod run-war
    grails -Dserver.port=8090 run-war

## Description

Usage:

    grails [env]* run-war

Arguments:

- `https` - Start an HTTPS server (on port 8443 by default) alongside the main server. Just to be clear, the application will be accessible via HTTPS and HTTP.
- `restart` - Does not rebuild an already existing WAR.

Supported system properties:

- `grails.server.port.http`/`server.port` - Specifies the HTTP port to run the server on (defaults to 8080)
- `grails.server.port.https` - Specifies the HTTPS port to run the server on (defaults to 8443)
- `grails.server.host`/`server.host` - Specifies the host name to run the server on (defaults to localhost)
- `grails.tomcat.jvmArgs` - A list of JVM arguments to be used for the forked JVM, e.g. `["-Xms128m", "-Xmx512m"]` (defaults to `["-Xmx512m"]`)

Fired Events:

- `StatusFinal` - When the container has been started
- `StatusUpdate` - When the container is reloading

This command will package Grails inside a WAR file and then run it with the installed container. Useful for quick deployment and/or testing. However, unlike run-app this command does not support reloading as a Grails WAR archive does not ship with Groovy sources, but only compiled byte code.