# run-app

## Purpose

Runs Grails using the installed container on port `8080`

## Examples

    grails run-app
    grails run-app -https // with HTTPS
    grails test run-app
    grails -Dserver.port=8090 -Denable.jndi=true -Ddisable.auto.recompile=true run-app

## Description

Usage:

    grails [env]* run-app

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.

Supported system properties:

- `disable.auto.recompile` - Disables auto-recompilation of Java sources, which can be processor intensive (defaults to false)
- `recompile.frequency` - Specifies how frequently (in seconds) Grails checks for changes to Java and Groovy sources in your project (defaults to 3).
- `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)

Fired Events:

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

This command will start Grails up in an embedded servlet container that can serve HTTP requests. The default container used is Tomcat However, alternative containers are supported via the plugin system. For example to run Grails with Jetty run the following two commands:

    grails uninstall-plugin tomcat
    grails install-plugin jetty

This target is not intended for deployment as the container in development mode is configured to auto-reload changes at runtime which has an overhead attached to it and will not scale well.