我们公司的后端是用maven来构建java项目,服务器用的tomcat,开发人员写代码是用myeclipse或者intellij idea,不管那种ide都特别耗内存,前端并不需要写java代码,但是前后端联调的时候为了把项目跑起来,也必须要使用这类ide,当然也可以用来写前端代码,但是不得不吐槽太烂了。
前端平时会选择自己的编辑器写代码,但是写完刷新浏览器并不能立马看到效果,因为需要等待myeclipse将文件同步到tomcat中,电脑稍差的,可能要等很久。为了提高工作效率,会使用grunt、gulp等自动化工具来完成一些重复的工作,比如代码压缩、修改版本号等,如果操作的文件过多甚至会导致电脑卡死。平时为了测试兼容性要开好几款浏览器,切图也要开AI/PS/FW以及其它杂七杂八的软件,再加上myeclipse这个特别占内存的ide,电脑就会很卡。。。
如果不用启动myeclipse,又能完成项目的部署,上面的这些的问题岂不是就能得到解决?能想到方法就是通过命令行去部署。
这里需要使用tomcat7-maven-plugin这个插件,在使用之前需要完成一些简单的配置:
1.配置环境变量
新建系统变量:
Path中新增:
2.修改配置文件
tomcat7-maven-plugin需要用到tomcat中的manager应用,检查webapps目录中有没有manager这个文件夹,没有的请下载,该应用默认是禁用的,开启它需要修改tomcat目录中/conf/tomcat-users.xml,在tomcat-users中新增:
打开maven安装目录中/apache-maven-3.1.1/conf/settings.xml,在servers(settings子节点)中新增
打开项目根目录中pom.xml,在plugins(build子节点)中新增:
上面配置完成之后,首先需要启动tomcat,直接双击tomcat目录/bin/startup.bat或者在cmd中输入命令:
等待tomcat启动完毕后,cmd定位到项目根目录,输入命令:
第一次执行可能会下载很多依赖包,部署过程中会在tomcat目录webapps文件夹下生成war文件以及对应文件名的文件夹,等部署完成,直接浏览器打开项目地址就可以了。如果在tomcat启动过程是由于少jar包导致报错了,需要将缺失的jar包放到项目根目录/src/main/webapp/WEB-INF/lib/中去;如果是PermGen space错误看看是不是环境变量中没有配置JAVA_OPTS(上面有说);如果是其它错误那就请教java开发人员吧。
这里强烈推荐vscode来写前端代码,里面自带了命令行终端用来完成项目打包部署,再安装svn插件用来更新和提交项目代码,通过gulp将前端代码同步到tomcat中,卧槽!想想就很爽!
note:
用gulp将文件同步到tomcat中建议使用gulp-changed这个模块,仅将修改的文件同步过去,这样会很快,该模块第二个参数hasChanged建议设置为changed.compareSha1Digest,示例如下: