服务器设置自启动项目,inServer: 内置Web服务器,实现以main方法启动web项目,自动检测代码修改并热部署...

#inServer

内置Web服务器,实现以main方法启动web项目,自动检测代码修改并热部署

###传统web项目开发部署方式对比:

- 项目不再要求是web项目,可以是java se项目,maven simple project

- PC上不必安装tomcat等服务器

- 可以控制某些目录下的文件不引起reload

- 可以主动控制热部署的时间点,eclipse 的server 插件会在任何文件修改后reload,本项目可以实现在所有文件修改完毕后再reload(trigger file 功能)

###功能:

使Web项目无需部署到外置服务器,只需以main方法启动即可,节省频繁部署的时间。

拥有自动检测代码修改并自动热部署功能。

如果项目依赖于其他项目,会连动检测依赖项目或类库的修改(新增依赖时目前无法检测到)。

可以设置不检测的路径,比如静态资源路径,通过Ant path格式设置。

可以设置热部署触发文件,设置后只有此文件被修改后才会热部署,此功能可准确的控制热部署的时间。

本项目借鉴了JFinal内部的JettyServer,在此膜拜一下@JFinal

功能 3,4,5在JFinal中并没有实现,此项目做了补充

###使用说明:

加入依赖

scope 推荐使用provided,可以在打包时不打包此依赖。

暂时没有发布到公共仓库,请自行添加到私有仓库。

新建一个包含main方法的类,在main方法如下:

public static void main(String[] args) {

Servers.getServer().start();

}

当输出类似文字,则服务器启动成功:

服务器启动成功:

端口:80

Web根目录:src/main/webapp

修改扫描间隔:5

###配置:

设置服务器端口,默认8000

Servers.getServer().port(8000).start();

设置项目根目录,默认"src/main/webapp"

Servers.getServer().webAppDir("src/main/webRoot").start();

设置修改检测间隔,默认5秒

Servers.getServer().scanIntervalSeconds(3L).start();

增加修改检测排除路径,匹配该路径的所有文件不进行更改检测, 该路径使用Ant path风格

已内置路径:/static/**

Servers.getServer().addExcludeScanPath("/public/**").start();

设置热启动触发文件,

如果设置了该文件,仅有该文件改变时才会热启动。

此功能可以精确地控制热启动的时间点

默认无

Servers.getServer().triggerFile("/static/restart.xml").start();

###综合设置:

Servers

.getServer()

.port(8888)

.scanIntervalSeconds(3L)

.triggerFile("/test/test.xml")

.start();

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值