war和war exploded

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包部署

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/35532.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 Visual Studio Code 调试 CMake 脚本

之前被引入到 Visual Studio 中的 CMake 调试器&#xff0c;现已在 Visual Studio Code 中可用。 也就是说&#xff0c;现在你可以通过在 VS Code 中安装 CMake 工具扩展&#xff0c;来调试你的 CMakeLists.txt 脚本了。是不是很棒? 背景知识 Visual C 开发团队和 CMake 的维…

Flutter源码分析笔记:Widget类源码分析

Flutter源码分析笔记 Widget类源码分析 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at: https://jclee95.blog.csdn.netEmail: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550263/article/details/132259681 【介绍】&#x…

TestNG和Junit5测试框架梳理

一、testNG 1. testNG优势 注解驱动&#xff1a; TestNG 使用注解来标识测试方法、测试类和配置方法&#xff0c;使得测试更具可读性。 并行执行&#xff1a; TestNG 支持多线程并行执行测试&#xff0c;可以加速测试套件的执行。 丰富的配置&#xff1a; 可以通过 XML 配置文…

Qt下载安装及配置教程

进入qt中文网站&#xff1a;https://www.qt.io/zh-cn/ 下载开源版 往下滑&#xff0c;下载Qt在线安装程序 它已经检测出我的是windows系统&#xff0c;直接点击download就好。如果是其它的系统&#xff0c;需要找到对应自己系统的安装包。 然后跟网速有关&#xff0c;等…

Gitlab CI/CD笔记-第三天-使用主机docker in docker 进行构建并push镜像。

一、啥叫docker in docker 就是允许的镜像里头有一个docker,但这个docekr镜像只有docker的cli和/var/lib/docker.sock的套接字&#xff0c;没有允许build.然后里头又运行了一个docker&#xff0c;这个docker有build的能力&#xff0c;此时构建时就是里头的docker使用外部的dock…

登录验证码实现

Hutool代码改造 Hutool 有参考文档&#xff1b;很多工具类&#xff1b;把一些功能都封装好&#xff1b;都不用你自己去写&#xff1b;直接调用它的工具类 它这里会详细告诉你引入方式Hutool <dependency><groupId>cn.hutool</groupId><artifactId>hu…

STM32F429IGT6使用CubeMX配置SPI通信(W25Q256芯片)

1、硬件电路 需要系统性的看一下W25Q256芯片手册 2、设置RCC&#xff0c;选择高速外部时钟HSE,时钟设置为180MHz 3、配置SPI 4、生成工程配置 5、相关代码 #define sFLASH_ID 0XEF4019 // W25Q256#define SPI_FLASH_PageSize 256 #define SPI_FLASH_PerWritePageSize 256#def…

《雷达像智能识别对抗研究进展》阅读记录

&#xff08;1&#xff09;引言 ​ 神经网络通常存在鲁棒性缺陷&#xff0c;易受到对抗攻击的威胁。攻击者可以隐蔽的诱导雷达智能目标识别做出错误预测&#xff0c;如&#xff1a; ​ a图是自行车&#xff0c;加上对抗扰动后神经网络就会将其识别为挖掘机。 &#xff08;2&a…

【Quarkus技术系列】打造基于Quarkus的云原生微服务框架实践(1)

前提介绍 本系列文章主要讲解如何基于Quarkus技术搭建和开发"专为Kubernetes而优化的Java微服务框架"的入门和实践&#xff0c;你将会学习到如何搭建Quarkus微服务脚环境及脚手架&#xff0c;开发Quarkus的端点服务&#xff0c;系统和应用层级的配置介绍与Quarkus的…

单芯片3路CC管理的VR转接器解决方案

VR眼镜即VR头显&#xff0c;也称虚拟现实头戴式显示设备&#xff0c;随着元宇宙概念的传播&#xff0c;VR眼镜的热度一直只增不减&#xff0c;但是头戴设备的续航一直被人诟病&#xff0c;如果增大电池就会让头显变得笨重影响体验&#xff0c;所以目前最佳的解决方案还是使用VR…

C# BeginInvoke 加 EndInvoke实现异步操作

1、定义一个委托 delegate long MyDel(int first, int second); 2、 需异步操作的函数 static int sum(int x,int y) {Console.WriteLine("InSide Sum1");Thread.Sleep(1000);Console.WriteLine("InSide Sum2");return x y;} 3、回调方法…

[HDLBits] Exams/m2014 q3

Consider the function f shown in the Karnaugh map below. Implement this function. d is dont-care, which means you may choose to output whatever value is convenient. //empty

gitui 解决 git error:Bad credentials.

问题描述 cat .git/config """ [remote "origin"]url gitgitcode.net:xxx.gitfetch refs/heads/*:refs/remotes/origin/* """ls -lh ~/.ssh/ """ -rw------- 1 z z 2.6K 8月 12 15:04 id_rsa -rw-r--r-- 1 z z 56…

学习左耳听风栏目90天——第六天 6/90(学习左耳朵耗子的工匠精神,对技术的热爱)【如何拥有技术领导力】

学习左耳听风栏目90天——第六天 6/90&#xff08;学习左耳朵耗子的工匠精神&#xff0c;对技术的热爱&#xff09;【如何拥有技术领导力】

【第358场周赛】限制条件下元素之间的最小绝对差,Java解密。

LeetCode 第358场周赛 恒生专场。 文章目录 剑指Offer:限制条件下元素之间的最小绝对差示例:限制:解题思路:剑指Offer:限制条件下元素之间的最小绝对差 【题目描述】 给你一个下标从 0 开始的整数数组 nums 和一个整数 x 。 请你找到数组中下标距离至少为 x 的两个元素的…

虚拟机内搭建CTFd平台搭建及CTF题库部署,局域网内机器可以访问

一、虚拟机环境搭建 1、安装docker、git、docker-compose ubuntu&#xff1a; sudo apt-get update #更新系统 sudo apt-get -y install docker.io #安装docker sudo apt-get -y install git #安装git sudo apt-get -y install python3-pip #安装pip3 sudo pip install dock…

SQL笔记

最近的工作对SQL的应用程度较高&#xff0c;而且写的sql类型基本没怎么涉及过&#xff0c;把用到的几个关键字记录下。 使用环境&#xff1a;达梦数据库 达梦数据库有个特点&#xff0c;他有一个叫模式的说法&#xff0c;在图形化工具里直接点击创建查询窗口&#xff0c;不用像…

Kubeadm安装K8s集群

一、硬件环境 准备3台Linux服务器&#xff0c;此处用Vmware虚拟机。 主机名CPU内存k8smaster2核4Gk8snode12核4Gk8snode22核4G 二、系统前置准备 配置三台主机的hosts文件 cat << EOF > /etc/hosts 192.168.240.130 k8smaster 192.168.240.132 k8snode1 192.168.…

Sql奇技淫巧之ROWNUM伪列

ROWNUM伪列 ROWNUM是一个伪列&#xff0c;它是根据每次查询的结果动态生成的一列递增编号&#xff0c;表示 Oracle 从表中选择该行的顺序&#xff0c;选择的第一行ROWNUM为1&#xff0c;第二行ROWNUM为2&#xff0c;以此类推。 注意1&#xff1a; ROWNUM伪列是在WHERE子句之…

torch.profiler

什么是torch.profiler PyTorch Profiler 是一个工具&#xff0c;它允许在训练和推理期间收集性能指标。Profiler 的上下文管理器 API 可用于更好地了解哪些模型操作最昂贵&#xff0c;检查它们的输入形状和调用堆栈&#xff0c;研究设备内核活动并可视化执行跟踪。 性能指标&…