Gradle构建Java Web Application

这篇博客介绍了如何使用Gradle创建一个Java Web项目。首先,按照约定创建项目目录结构,包括src/main/java和webapp目录,以及在webapp内创建WEB-INF和静态资源。接着,配置build.gradle文件,应用必要的插件以编译Java源文件。最后,通过Gradle的jettyRun任务在Jetty服务器上运行项目,并提供了访问http://localhost:8080/gradle-web/index.html来验证构建成功的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0. 目标

创建一个名为gradle-web的Java Web项目。

1. 创建项目目录结构

Gradle采用了基于约定构建(build-by-convention)的方式识别源文件。默认情况下,使用Gradle构建的Java项目源代码应放在src/main/java中。

mkdir -p gradle-web/src/main/java

如果是JavaSE项目,创建这一个目录就行。JavaWeb项目还需要在main目录下创建Web应用根目录webapp,这个目录中将存放动态页面JSP,或静态资源HTML、CSS、JavaScript和图片资源。在webapp中还要创建一个名为WEB-INF的目录,WEB-INF存放像web.xml这样不能被客户端直接访问的文件。

mkdir -p gradle-web/src/main/webapp/WEB-INF

在webapp创建一个静态HTML页面index.html,这个页面是之后访问的目标页面。

<html>
<head>
    <title>Gradle Java Web Page</title>
</head>
<body>
    <p>Hello Gradle Java Web!</p>
</body>
</html>

在目录gradle-web下创建文件build.gradle。
创建完以上目录和文件之后,项目结构应如下:

/gradle-web
|- build.gradle
|- src
   |- main
      |- java // source root
      |- webapp // web-app root
         |- WEB-INF
         |- index.html

2. build.gradle文件

Gradle本身仅是一个任务运行器(Task Runner),它并不知道如何编译Java源文件,也不知道这些源文件存放在哪。要想编译Java文件或添加其他功能,则需要应用插件plugin。Gradle中的plugin封装了一些可重用的task和configuration。
在build.gradle中添加下面代码

apply plugin: 'java' // Compile Java code, run unit tests, and assemble a JAR artifact
apply plugin: 'war'  // Supports web application development and building WAR files
apply plugin: 'jetty'// Jetty provides an embedded servlet container 

// Jetty property configuration
httpPort = 8080
stopPort = 9090
stopKey = 'stopKey'

3. 在Jetty中运行

build项目,执行命令gradle build

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

BUILD SUCCESSFUL

Total time: 8.343 secs

在Jetty中运行项目,执行命令gradle jettyRun或gradle jettyRunWar

$ gradle jettyRun
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:jettyRun

现在就可以在浏览器中访问http://localhost:8080/gradle-web/index.html。访问成功则表示用Gradle构建JavaWeb项目成功。

停止Jetty,执行命令gradle jettyStop

$ gradle jettyStop
:jettyStop

BUILD SUCCESSFUL

Total time: 4.322 secs

参考资料

  1. Gradle Tutorial : Part 4 : Java Web Applications
  2. Gradle与Makefile构建工具的对比
  3. Balaji Varanasi, Sudha Belida. Introducing Gradle.
  4. Kunal Dabir, Abhinandan. Gradle Essentials.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值