war和war exploded
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
war和war exploded的区别
war模式将WEB工程以包的形式上传到服务器
war exploded模式将WEB工程以当前文件夹的位置关系上传到服务器
>> war包是自己打包生成的如pom文件中<packaging>war</packaging>
则在项目build的构建的时候将打包成一个war包默认是一个已经完成准备部署发布的项目包
>> war exploded包是IDEA在工程创建的时候就自动生成的是给开发者放在服务器上或本机调试用的并不是一个已完成的准备发布的项目包。
在idea Tomcat部署时选择不同包的区别
1. 当我们在tomca的Deployment里面部署的是war包的话就没有“Update classes and resources”
只有部署war exploded包的时候才会出现“Update classes and resources”
。如下面图所示
2. 两种情况下部署后项目的存放目录不同
war模式将WEB工程以war包的形式上传到Tomcat服务器 存放于服务器的webapps目录下
war模式这种可以称之为是发布模式看名字也知道这是先打成war包再发布
**war exploded模式**将WEB工程以当前文件夹的位置关系上传到服务器也就是说不会再Tomcat服务器的webapps目录下
。
war exploded模式这种可以称之为开发调试模式默认是项目所在目录的target目录下
。
具体验证可通过获取上下文环境绝对路径来看
String contextPath = request.getSession().getServletContext().getRealPath("/");
war包模式始终是获取到的路径为C:\Program Files\apache-tomcat-7.0.82\webapps\assets
Tomcat所在位置
war exploded包模式获取到的路径为C:\projects\sx_zc\asset_sx\target\assets
项目所在的target位置
On ‘Update’ action 和 On Frame deactivation
On Update action
“On Update Action”是指当代码改变的时候需要IDEA为你做什么
比如更新了静态资源或者java代码后对应的行为
一般选择“Update classes and resources”里面有四个选项
-Update resources 更新的是资源文件*.jsp*.xml等不包括java文件,点击‘update’就会立刻生效
-Update classes and resources 同时包含java文件和资源文件的点击‘update’就会立刻生效
run运行模式下jsp 立即生效java 需要redeploy才可生效debug调试模式下java、jsp 都立即生效
两种运行模式下修改resources资源文件都是可以立刻生效的。
-Redploy 重新部署只是把原来的war删掉不重启服务器
-Restart 重启服务器
On Frame deactivation
指失去焦点比如你最小化了IDEA窗口需要IDEA为你做什么
。一般选择“Do nothing”最好
官方也默认的是“Do nothing”
作用失去焦点的情况下 自动触发
而开发过程中 可能需要查询资料 或 与人聊天 或干其它事IDE需要不停的失去焦点。每次失去焦点就自动触发 update CPU一下子 费很多电脑瞬间变慢所以没有必要这样
监听整个页面的配置一修改就立即更新idea 官方的推荐是设置为Do nothing原因是可以节省idea消耗的内存
-Do nothing : 不做任何事
-Update resources : 一修改立刻更新修改的resources文件都会立刻生效
-Update classes and resources 一修改立刻更新修改的java resources文件都会立刻生效与On update action中的Update classes and resources一样也是运行模式修改的java文件不会生效debug模式修改的java文件会立刻生效
总结
开发调试时建议选择war exploded包进行部署正式上线时选择war包部署
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |