idea中部署web项目的时候,Artifact中war和war exploded的区别以及war exploded形式tomcat启动失败的解决方法
一、Artifact概述
1、Artifact介绍
在刚刚整这个web开发的时候,在配置tomcat的时候,我也是很好奇,这个东西是什么,其实Artifact 是maven中的一个概念,表示某个module要如何打包。一个web项目中有多个模块,不懂的就先当这个module是个web项目即可。
例如war、war exploded、jar、ear等这些打包形式;一个module有了 Artifacts 就可以部署到应用服务器中了!
2、 图片展示
2.1- 设置打包方式:按图中序号操作
紧接着会出现这个页面,应该很好奇带不带exploded的差别吧,请接着往下看
2.2- 打包方式详解
1、点击箭头指示的图标,打开Artifacts设置页面
2、点击箭头指示的图标,打开Artifacts设置页面
① war 模式:这种可以称之为是发布模式,看名字也知道,这是先打成war包,再发布;
② war exploded模式:exploded 这个单词的形容词词性意思是 :分解的。从图片上文件结构可以看出和它本身的翻译意思一样,就是分解的,也就是war、jar等产出物没压缩前的目录结构,是直接把文件夹、jsp页面 、classes等等移到Tomcat 部署文件夹里面,进行加载部署。因此这种方式支持热部署,一般在开发的时候也是用这种方式。
二、war exploded 热部署
1、热部署方式介绍
1、刚开始使用idea,发现工程每次修改JS或者是JSP页面后,并没有生效,每次修改都需要重启一次Tomcat才能体现刚刚所作的修改,这种方式浪费了自己很多时间,那么通过war exploded模式可以实现热部署,即每次修改代码后,不用重新启动tomcat即可实时显示自己代码修改后的效果。
2、热部署方式相关设置
1、tomcat配置
① on ‘update‘ action:当用户主动执行更新的时候更新
②on frame deactication: 在编辑窗口失去焦点的时候更新
③ 你可以根据自己的需求进行设置,我这里两个都有设置,都设置成 Update classes and resources
注意:
1、 在war exploded 模式时,工程中才有 Update classes and resources 这个选项,如果是war模式的话,是没有这个选项的。
2、war exploded模式下,tomcat启动项目失败的解决方法
① 出现这种情况应该就是只设置了模式是war exploded,上一步中的tomcat配置没修改成 Update classes and resources ,设置成 Update classes and resources即可解决问题。
三、总结
热爱生活、沉迷学习、乐于分享