appRunWar starts web-app on WAR-file, in interactive mode.


gradle appRunWar


  1. The web-app gets compiled and assembled into WAR-file (if it’s not up-to-date).

  2. Embedded servlet-container starts in separate java process against WAR-file and listens for HTTP-requests on port (default 8080).

  3. Gretty waits for the user keypress.

  4. When user presses any key (in the same terminal), servlet-container process shuts down.

    1. Gretty waits for servlet-container process to complete.

    2. Gradle script continues normal execution of tasks.

Instantiation and extension

The object called appRunWar is actually an instance of AppStartTask class, created and configured for you by Gretty. You can instantiate or even extend this class on your own:

apply plugin: 'org.akhikhl.gretty'

import org.akhikhl.gretty.AppStartTask

task('MyRun', type: AppStartTask) {
  // ...

class VerySpecialRun extends AppStartTask {
  // ...

task('MyRun2', type: VerySpecialRun) {
  // ...

If you are going to instantiate or extend this task class yourself, make sure you’ve learned it’s properties and methods.


appRunWar StateDiagram