创建Gradle Java Web应用程序并在Tomcat上运行

创建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.zyiz.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.zyiz.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/zyiz.net/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/zyiz.net/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源代码