创建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源代码 |