(Quick Reference)



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


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



grails [env]* run-war


  • 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.