vscode 热部署/热加载/hot deploy/redply java web项目 maven+tomcat
目的
自从用过vscode,再也无法忍受eclipse的龟速和庞大的资源占用。但是新入手vsc,还是遇到了诸多困难。
比如热部署。
vsc一切都是基于插件的,所以很强大,但也正因为如此,热部署之类的功能并非开箱即用的。上网搜索了一番,仍然没有找到可用的方案。
要知道,对于java web项目来说,每修改一个文件就需要重新启动tomcat那是何等的痛苦。
折腾过程
准备阶段
vsc,java extention, maven 等
略。
tomcat插件
这个倒是简单,安装tomcat for java这个插件,然后配置插件指向tomcat目录即可搞定(linux系统注意tomcat目录的权限)。
使用方法:
- 打包war文件:在maven上点clean,然后package即可。
- 将war传送给tomcat插件。可以在war文件上点右键,run on tomcat; 或者在tomcat插件上点debug war file.
这时候就发现问题了,难道我每修改一行代码都需要package,然后在debug/run on tomat 才可以看到效果?开始新一轮的折腾计划吧…
失败方案
tomcat maven plugin
网上有文章说这个插件可以解决热部署,经过实验,这个不行。
1.官网2013年后已经停止更新,最新版本是tomcat7-maven-plugin, 不过仍然可以启动tomcat 9.0.
2.这个插件无法和tomcat插件配合,原因在于tomcat插件启动后,是没有manger页面的。而这个插件必须通过manger页面来发布war包。所以只能手动从命令行启动tomcat,然后再通过tomcat7:deploy这个mvn命令启动这个插件。虽然这样可以正常工作,但是,看不到console log,也无法像网上说的那样通过tomcat7:redeploy命令进行热部署。
各种错误解决:
- 拒绝连接:原因是tomcat没有启动,这个插件不会自动启动tomcat;
- 找不到ma