創建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.java 在 gradlewebapp.bean 包下,其項目結構和代碼如下所示 -
Greeting.java 文件的源代碼如下所示 -
package com.yiibai.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.yiibai.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/yiibai.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}
如有必要,還需要指定 Gradle和JDK的安裝的目錄,最終的結果如下圖所示 -
如果是第一次運行,可能還要下載一些應用程序,所以需要等待一段時間…找點咖啡之類的東西喝先。
運行成功後,應該可以看到類似下面的輸出結果 -
Working Directory: D:/worksp/GradleWebApp
Gradle User Home: D:/worksp/gradle/Downloads
Gradle Distribution: Local installation at D:/worksp/yiibai.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源代碼