Skip to content

Commit 408b326

Browse files
committed
gretty热部署方案
1 parent 24fc739 commit 408b326

File tree

1 file changed

+96
-0
lines changed

1 file changed

+96
-0
lines changed

Gradle_Gretty/README.md

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
###Gretty插件实现Gradle Web项目热部署
2+
在build.gradle配置文件中
3+
4+
buildscript {
5+
repositories {
6+
jcenter()
7+
}
8+
dependencies {
9+
classpath 'org.akhikhl.gretty:gretty:+'
10+
}
11+
}
12+
13+
apply plugin: 'org.akhikhl.gretty'
14+
15+
apply from: 'https://raw.github.com/akhikhl/gretty/master/pluginScripts/gretty.plugin'
16+
17+
常用命令
18+
19+
gradle appRun
20+
21+
另有appRunWar、appRunDebug、appRunWarDebug
22+
23+
gradle appStart
24+
25+
另有appStartWar、appStartDebug、appStartWarDebug
26+
27+
gradle jetty* / gradle tomcat*
28+
29+
gretty {
30+
// 端口默认8080
31+
// serlvetContainer 支持 jetty7/8/9,tomcat7/8
32+
// contextPath 设置根路径,默认为项目名称
33+
port = 8080
34+
serlvetContainer = 'tomcat8'
35+
contextPath = '/'
36+
}
37+
38+
热部署属性
39+
40+
scanInterval:监视周期,单位为秒,设置为0等于完全关闭热部署
41+
scanDir:需要监视的文件夹
42+
recompileOnSourceChange:监视源码变动,自动编译
43+
reloadOnClassChange:编译的类发生改变,自动加载
44+
reloadOnConfigChange:WEB-INF或META-INF发生改变
45+
reloadOnLibChange:依赖发生改变
46+
47+
Gretty默认如下
48+
49+
scanInterval 设置为1,每秒扫描改动1次
50+
scanDir默认为下 :
51+
52+
${projectdir}/src/main/java
53+
${projectdir}/src/main/groovy
54+
${projectdir}/src/main/resources
55+
${projectdir}/build/classes/main
56+
${projectdir}/build/resources/main
57+
58+
recompileOnSourceChange、reloadOnClassChange、reloadOnConfigChange 和 reloadOnLibChange默认为true
59+
60+
fastReload属性,默认为true,监听webapp/中的内容,文件发生改变,无需重启。
61+
62+
除了src/main/webapp外,可另外指定资源目录
63+
64+
gretty{
65+
// …
66+
extraResourceBase 'dir1',
67+
extraResourceBases 'dir2','dir3'
68+
// …
69+
}
70+
71+
产品生成
72+
73+
gradle buildProduct
74+
75+
生成安装文件
76+
生成目录位于 build/output/${project.name}
77+
结构如下
78+
–build/output/${project.name}
79+
|–conf/ => 配置文件
80+
|–runner/ => servlet container 所需库
81+
|–starter/
82+
|–webapps/ => java web 应用
83+
|–restart.bat/sh
84+
|–run.bat/sh
85+
|–start.bat/sh
86+
|–stop.bat/sh
87+
多应用,需在build.gradle中配置 product,例如
88+
product {
89+
webapp project // include this project
90+
webapp ':ProjectA'
91+
webapp ':ProjectB'
92+
}
93+
94+
项目启动,修改项目文件,自动编译部署
95+
96+
![](https://github.com/silence940109/Java/tree/master/Gradle_Gretty/image/1.png)

0 commit comments

Comments
 (0)