This chapter is a work in progress.
This chapter introduces the Gradle support for web applications. Gradle provides two plugins for web application development: the War plugin and the Jetty plugin. The War plugin extends the Java plugin to build a WAR file for your project. The Jetty plugin extends the War plugin to allow you to deploy your web application to an embedded Jetty web container.
To build a WAR file, you apply the War plugin to your project:
Example 10.1. War plugin
build.gradle
apply plugin: 'war'
Note: The code for this example can be found at samples/webApplication/quickstart
which is in both the binary and source distributions of Gradle.
This also applies the Java plugin to your project. Running gradle build
will compile,
test and WAR your project. Gradle will look for the source files to include in the WAR file in
src/main/webapp
. Your compiled classes and their runtime dependencies are also
included in the WAR file, in the WEB-INF/classes
and WEB-INF/lib
directories, respectively.
You can combine multiple plugins in a single project, so you can use the War and Groovy plugins together to build a Groovy based web application. The appropriate groovy libraries will be added to the WAR file for you.
To run your web application, you apply the Jetty plugin to your project:
This also applies the War plugin to your project. Running gradle jettyRun
will
run your web application in an embedded Jetty web container. Running gradle jettyRunWar
will build the WAR file, and then run it in an embedded web container.
TODO: which url, configure port, uses source files in place and can edit your files and reload.
You can find out more about the War plugin in Chapter 26, The War Plugin and the Jetty plugin in
Chapter 28, The Jetty Plugin. You can find more sample Java projects in the
samples/webApplication
directory in the Gradle distribution.