創建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源代碼