Gretty插件实现Gradle Web项目热部署

本文介绍了如何利用Gretty插件实现在Gradle Web项目中的热部署,详细讲解了在build.gradle文件中的配置,包括常用命令如appRunWar、appRunDebug等,以及热部署属性如fastReload。通过设置fastReload为true,可以实现文件更改后的自动编译和部署,无需手动重启。此外,还提到了如何添加额外资源目录,并且提到了构建产品版本的命令`gradle buildProduct`。

Gretty插件实现Gradle Web项目热部署

在build.gradle配置文件中

buildscript {
repositories {
    jcenter()
}
dependencies {
    classpath 'org.akhikhl.gretty:gretty: '
}
}

apply plugin: 'org.akhikhl.gretty'
或
apply from: 'https://raw.github.com/akhikhl/gretty/master/pluginScripts/gretty.plugin'

常用命令

gradle appRun

另有appRunWar、appRunDebug、appRunWarDebug

gradle appStart

另有appStartWar、appStartDebug、appStartWarDebug

gradle jetty / gradle tomcat

gretty {
    // 端口默认8080
    // serlvetContainer 支持 jetty7/8/9,tomcat7/8
    // contextPath 设置根路径,默认为项目名称
    port = 8080
    servletContainer = 'tomcat8'
    contextPath = '/'
}

热部署属性

scanInterval:监视周期,单位为秒,设置为0等于完全关闭热部署
scanDir:需要监视的文件夹
recompileOnSourceChange:监视源码变动,自动编译
reloadOnClassChange:编译的类发生改变,自动加载
reloadOnConfigChange:WEB-INF或META-INF发生改变
reloadOnLibChange:依赖发生改变

Gretty默认如下

scanInterval 设置为1,每秒扫描改动1次
scanDir默认为下 :

${projectdir}/src/main/java
${projectdir}/src/main/groovy
${projectdir}/src/main/resources
${projectdir}/build/classes/main
${projectdir}/build/resources/main

recompileOnSourceChange、reloadOnClassChange、reloadOnConfigChange 和 reloadOnLibChange默认为true

fastReload属性,默认为true,监听webapp/中的内容,文件发生改变,无需重启。

除了src/main/webapp外,可另外指定资源目录

gretty{
    // …
    extraResourceBase 'dir1',
    extraResourceBases 'dir2','dir3'
    // …
}

产品生成

gradle buildProduct

生成安装文件
生成目录位于 build/output/${project.name}
结构如下
–build/output/${project.name}
|–conf/ => 配置文件
|–runner/ => servlet container 所需库
|–starter/
|–webapps/ => java web 应用
|–restart.bat/sh
|–run.bat/sh
|–start.bat/sh
|–stop.bat/sh
多应用,需在build.gradle中配置 product,例如
product {
webapp project // include this project
webapp ':ProjectA'
webapp ':ProjectB'
}

项目启动,修改项目文件,自动编译部署file

如果有兴趣和我们一起讨论问题的话,不妨加下我们群吧 ,记得加群的时候写上我名字 ID:BigMoreKT:984370849

如果有兴趣和我们一起讨论问题的话,不妨加下我们群吧 ,记得加群的时候写上我名字 ID:BigMoreKT 群:984370849

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值