Skip to content

luowei/gradledemo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GradleDemo

项目简介

GradleDemo 是一个基于 Gradle 构建工具的 Java Web 示例项目,展示了如何使用 Gradle 构建一个简单的 Servlet 应用程序。该项目演示了 Gradle 的基本配置、依赖管理以及 Java、Groovy 和 Web 应用的集成开发。

技术栈

  • 构建工具: Gradle
  • 编程语言: Java (JDK 1.5+)
  • 测试框架:
    • JUnit 4.11
    • Spock Framework 0.7 (基于 Groovy 2.0)
  • Web 技术:
    • Java Servlet API
    • Java EE 7.0
  • 脚本语言: Groovy 2.0.5
  • 打包方式: WAR (Web Application Archive)

项目结构

gradledemo/
├── build.gradle          # Gradle 构建配置文件
├── settings.gradle       # Gradle 项目设置文件
├── gradlew              # Gradle Wrapper 脚本 (Unix/Linux/Mac)
├── gradlew.bat          # Gradle Wrapper 脚本 (Windows)
├── gradle/              # Gradle Wrapper 相关文件
└── src/
    ├── main/
    │   └── java/
    │       └── demo/
    │           ├── Hello.java         # 核心业务类
    │           └── HelloServlet.java  # Servlet 控制器
    └── test/
        └── groovy/
            └── demo/
                └── HelloTest.groovy   # Spock 测试用例

主要功能

1. Hello 类 (demo.Hello)

  • 提供一个简单的 sayHello() 方法
  • 返回字符串 "Hello,Gradle!"
  • 作为核心业务逻辑的示例

2. HelloServlet (demo.HelloServlet)

  • 继承自 HttpServlet
  • 使用 @WebServlet 注解配置,映射到根路径 "/"
  • 处理 HTTP GET 请求
  • 调用 Hello 类的方法并将结果输出到响应流

3. 单元测试

  • 使用 Spock Framework 编写测试用例
  • 测试 Hello 类的 sayHello() 方法功能
  • 采用 BDD (行为驱动开发) 风格的测试语法

使用方法

前置要求

  • JDK 1.5 或更高版本
  • 支持 Servlet 的 Web 容器 (如 Tomcat、Jetty 等)

构建项目

使用 Gradle Wrapper 构建项目 (推荐):

Unix/Linux/Mac:

./gradlew build

Windows:

gradlew.bat build

运行测试

./gradlew test

打包为 WAR 文件

./gradlew war

构建成功后,WAR 文件将生成在 build/libs/ 目录下。

部署运行

  1. 将生成的 WAR 文件部署到 Servlet 容器(如 Tomcat)
  2. 启动容器
  3. 访问应用根路径,应该能看到 "Hello,Gradle!" 的输出

依赖说明

编译依赖

  • groovy-all (2.0.5): Groovy 语言完整库,支持 Groovy 脚本和测试

测试依赖

  • junit (4.11): Java 标准单元测试框架
  • spock-core (0.7-groovy-2.0): 基于 Groovy 的 BDD 测试框架,提供更优雅的测试语法

编译时提供依赖 (Provided)

  • javaee-api (7.0): Java EE 7.0 API,包含 Servlet、JSP 等 Web 开发所需的接口
    • 标记为 providedCompile,表示运行时由容器提供,不打包到 WAR 中

构建配置说明

应用的插件

  • java: 支持 Java 项目的编译和构建
  • war: 支持 Web 应用打包为 WAR 文件
  • groovy: 支持 Groovy 语言的编译和测试

其他配置

  • 源代码兼容性: Java 1.5
  • 项目版本: 1.0
  • 仓库: Maven 中央仓库

项目特点

  1. 轻量级示例: 代码简洁,适合学习 Gradle 构建工具的基本用法
  2. 多语言支持: 同时使用 Java 和 Groovy,展示混合语言项目的配置
  3. 现代化测试: 采用 Spock 框架,提供更简洁的测试代码
  4. 标准 Web 应用: 使用 Java EE 标准的 Servlet 注解,无需 web.xml 配置文件

开发者信息

  • 创建者: luowei
  • 创建时间: 2014年4月20日

注意: 本项目使用的某些技术版本较旧(如 Java 1.5、Groovy 2.0.5),建议在学习和参考时考虑升级到更新的版本以获得更好的性能和安全性。

About

通过gradle管理项目依赖及配置的示例,Gradle在继承Maven优点的基础上克服了xml配置的的繁冗,不够灵活,学习曲线陡峭等缺点..

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors