Créer une application Gradle Java Web et l'exécuter sur Gradle Tomcat Plugin
1. Créer Gradle Project
- File/New/Other...


Saisissez le nom du projet :
- HelloGradleWebApp



Le projet a été créé.

2. Configurer Gradle
Ceci est le contenu par défaut de fichier build.gradle créé par Eclipse et a supprimé la ligne de commentaire.
build.gradle (ORIGIN CONTENT)
apply plugin: 'java'
repositories {
jcenter()
}
dependencies {
compile 'org.slf4j:slf4j-api:1.7.21'
testCompile 'junit:junit:4.12'
}
Vous devez ajouter la configuration pour que votre application devienne "WEB Application". Et peut être exécuté directement sur Eclipse + Tomcat Plugin.

Voir le code complet :
build.gradle
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'com.bmuschko.tomcat'
repositories {
jcenter()
}
dependencies {
testCompile 'junit:junit:4.12'
providedCompile "javax.servlet:javax.servlet-api:3.1.0"
}
dependencies {
def tomcatVersion = '7.0.59'
tomcat "org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}",
"org.apache.tomcat.embed:tomcat-embed-logging-juli:${tomcatVersion}",
"org.apache.tomcat.embed:tomcat-embed-jasper:${tomcatVersion}"
}
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.bmuschko:gradle-tomcat-plugin:2.2.2'
}
}
Notez que chaque fois qu'il y a un changement dans build.gradle vous devriez mettre à jour le projet en utilisant l'outil de Gradle.
3. Modifier la structure de l'application
Dans le dossier "src/main" vous devriez créer deux sous-dossiers "ressources" et "webapp".
- src/main/java: This folder has java sources.
- src/main/resources: This folder can hold property files and other resources
- src/main/webapp: This folder holds jsp and other web application content.

4. Code Project

Greeting.java
package org.o7planning.hellogradlewebapp.bean;
public class Greeting {
public String getHello() {
return "Hello Gradle Web Application";
}
}

hello.jsp
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello Gradle Web App</title>
</head>
<body>
<jsp:useBean id="greeting" class="org.o7planning.hellogradlewebapp.bean.Greeting"/>
<h3>${greeting.hello}</h3>
</body>
</html>
5. Gradle Build
Open "Gradle Task" view.

Remarque : Si vous ne voyez pas "Gradle Task", vous pouvez l'ouvrir par :Window/Show View/Other...
Faites un clic droit sur "build" et sélectionnez "Run Gradle Tasks".

Vérifiez la tabulation "Gradle Executions" vous verrez une liste de tâches qui ont été exécutées.

6. Configurer pour exécuter l'application


Saisissez :
- Name: Run HelloGradleWebApp
- Gradle Tasks: tomcatRun
- Working Directory: ${workspace_loc:/HelloGradleWebApp}
Task Name | Depends On | Type | Description |
tomcatRun | - | TomcatRun | Starts a Tomcat instance and deploys the exploded web application to it. |
tomcatRunWar | - | TomcatRunWar | Starts a Tomcat instance and deploys the WAR to it. |
tomcatStop | - | TomcatStop | Stops the Tomcat instance. |
tomcatJasper | - | TomcatJasper | Runs the JSP compiler and turns JSP pages into Java source using Jasper. |