# JettyRunWar

API Documentation: | `JettyRunWar`

Deploys a WAR to an embedded Jetty web container.

Once started, the web container can be configured to run continuously, scanning for changes to the war file and automatically performing a hot redeploy when necessary.

### Properties

Property | Description
`additionalRuntimeJars` | The classpath to make available to the web application.
`contextPath` | The context path to use to deploy the web application.
`daemon` | Specifies whether the Jetty server should run in the background. When `true`, this task completes as soon as the server has started. When `false`, this task blocks until the Jetty server is stopped.
`httpPort` | The TCP port for Jetty to listen on for incoming HTTP requests.
`jettyConfig` | The jetty configuration file to use. When `null`, no configuration file is used.
`reload` | The reload mode, which is either `"automatic"` or `"manual"`.
`scanIntervalSeconds` | The interval in seconds between scanning the web app for file changes. If file changes are detected, the web app is reloaded. Only relevant if `reload` is set to `"automatic"`. Defaults to `0`, which disables automatic reloading.
`stopKey` | The key to use to stop Jetty.
`stopPort` | The TCP port for Jetty to listen on for stop requests.
`webApp` | The web application to deploy.

### Methods

No methods

### Script blocks

No script blocks

### Property details

#### ``Iterable`<`File`>` `additionalRuntimeJars`

The classpath to make available to the web application.

Default with the `jetty` plugin:
  `[]`

#### `String` `contextPath`

The context path to use to deploy the web application.

Default with the `jetty` plugin:
  `project.war.baseName`

#### `boolean` `daemon`

Specifies whether the Jetty server should run in the background. When `true`, this task completes as soon as the server has started. When `false`, this task blocks until the Jetty server is stopped.

Default with the `jetty` plugin:
  `false`

#### `Integer` `httpPort`

The TCP port for Jetty to listen on for incoming HTTP requests.

Default with the `jetty` plugin:
  `project.httpPort`

#### `File` `jettyConfig`

The jetty configuration file to use. When `null`, no configuration file is used.

Default with the `jetty` plugin:
  `null`

#### `String` `reload`

The reload mode, which is either `"automatic"` or `"manual"`.

In automatic mode, the web app is scanned for file changes every n seconds, where n is determined by the `scanIntervalSeconds` property. (Note that `scanIntervalSeconds` defaults to `0`, which disables automatic reloading.) If files changes are detected, the web app is reloaded.

In manual mode, the web app is reloaded whenever the Enter key is pressed.

#### `int` `scanIntervalSeconds`

The interval in seconds between scanning the web app for file changes. If file changes are detected, the web app is reloaded. Only relevant if `reload` is set to `"automatic"`. Defaults to `0`, which disables automatic reloading.

#### `String` `stopKey`

The key to use to stop Jetty.

Default with the `jetty` plugin:
  `project.stopKey`

#### `Integer` `stopPort`

The TCP port for Jetty to listen on for stop requests.

Default with the `jetty` plugin:
  `project.stopPort`

#### `File` `webApp`

The web application to deploy.

Default with `jetty` plugin:
  `project.war.archivePath`