当前位置: 首页 > 工具软件 > Gretty > 使用案例 >

Gradle 使用 Gretty 插件调试 Java Web

沈飞翔
2023-12-01

Gradle 使用 Gretty 插件调试


Gradle 的 Gretty 插件能直接将项目部署在一个内嵌式的 Tomcat、Jetty 程序,并能提供热加载,热部署的功能,对于 Java Web 程序的调试十分方便;
该项目的Github地址为: https://github.com/akhikhl/gretty

基本使用如下:

导入插件,设置参数

在 build.gradle 添加如下:
1
group 'site.assad'
2
version '1.0'
3
 
         
4
//执行子脚本,下载 gretty 插件
5
buildscript {
6
    repositories { jcenter() }
7
    dependencies { classpath 'org.akhikhl.gretty:gretty:1.2.4' }
8
}
9
 
         
10
apply plugin: 'java'
11
apply plugin: 'war'
12
apply plugin: 'org.akhikhl.gretty'    //导入 greety 插件
13
 
         
14
sourceCompatibility = 1.8
15
 
         
16
repositories {
17
    mavenCentral()
18
}
19
 
         
20
dependencies {
21
   ........
22
}
23
 
         
24
 
         
25
//设置 greety 插件参数
26
gretty {
27
    port = 8080                          //运行端口
28
    servletContainer = 'tomcat8'         //设置Servlet容器
29
    contextPath ="/"                     //URL访问根路径
30
    //  contextPath ="/${project.name}“
31
}
32
 
         
其中 servletContainer 容器可选项包括:"tomcat7","tomcat8","jetty7","jetty8","jetty9";
之后在 gradle 面板点击同步按钮,下载 gretty 插件,会发现在 gradle 面板/Tasks/gretty 出现了 gretty 的预定 task 任务;

运行、终止项目

在 gradle 面板/Tasks/gretty 点击  appStrart  运行项目, appStop  终止项目;
这个过程是自动的,自动将项目编译打包到内嵌的 tomcat/jetty 运行,可以在项目 build 目录下查看这些 web 服务器的文件结构;
项目第一次运行的时候时间会比较久,因为插件要下载内嵌的 tomcat/jetty,可以在 Run 面板查看进度;

设置热部署/热加载

gretty 插件支持对内嵌 Web 服务器设置热加载,这一过程是封装的,不需要直接对这些 Web 服务器的配置文件进行配置,只需要在 build.gradle 中对 gretty 元素进行相应的配置即可;
主要的配置参数如下:
scanInterval 监视周期,单位为秒,设置为0等于完全关闭热部署
scanDir 需要监视的文件夹
recompileOnSourceChange 监视源码变动,自动编译(默认为true)
reloadOnClassChange 编译的类发生改变,自动加载(默认为true)
reloadOnConfigChange WEB-INF或META-INF发生改变,自动加载(默认为true)
reloadOnLibChange
依赖发生改变,自动加载(默认为true)
fastReload 监听webapp/中的内容,文件发生改变,无需重启(默认为true)

 类似资料: