TOMCAT热部署 catalina.home catalina.base
catalina.home 一台机器通常只有一个, 指向Tomcat的安装目录
catalina.base 一台机器可以启动多个Context, 每个Context对应一个catalina.base, 每个WebApp对应一个Context
1. 在webApps目录下的war, 会自动创建Context, path与war文件名相同
2. 修改conf/server.xml中增加<Context path="" docBase=""/>标签, 这个配置文件是全局的,不能自动重加载, 不推荐
3. 在conf/Catalina/localhost/下创建“项目名.xml", <Context docBase=""/>这里不要指定path, 指定path也没用。这里path=xml的文件名
参考: https://www.cnblogs.com/ysocean/p/6893446.html
下图示例,使用Idea部署一个war包到Tomcat, 启动时使用-Xcatalina.base指定项目临时目录C:\Users\xxx\.IntellijIdea\....,上下文路径aabb最后生成了一个aabb.xml
aabb.xml中docBase最终指向的是maven项目的target目录, 然后每次编译java文件后IDEA就可以触发context的reload
默认war是部署在webapp目录,但是用户也可以自定义
下图将部署目录修改到了deploy自定义目录,并且解压后不会自动部署
TOMCAT热部署 catalina.home catalina.base的更多相关文章
- tomcat热部署.class
本人是在维护公司系统时遇到的问题,由于公司的系统是部署到客户服务器上,而系统中存在的问题又比较多,需要经常维护.如果每次修改完class文件后都需要去重启服务器, 那会给用户的使用造成不便,所以需要使 ...
- 持续集成环境--Tomcat热部署导致线程泄漏
一.问题由来 我们组用jenkins部署了持续集成环境,(jenkins部署war包到远程服务器的tomcat). 每次提交了代码,jenkins上一键构建,就可以自动拉取最新代码,打war包,热部署 ...
- Tomcat热部署的实现原理
Tomcat热部署机制 对于Java应用程序来说,热部署就是在运行时更新Java类文件.在基于Java的应用服务器实现热部署的过程中,类装入器扮演着重要的角色.大多数基于Java的应用服务器,包括EJ ...
- tomcat源码解读(1)–tomcat热部署实现原理
tomcat的热部署实现原理:tomcat启动的时候会有启动一个线程每隔一段时间会去判断应用中加载的类是否发生变法(类总数的变化,类的修改),如果发生了变化就会把应用的启动的线程停止掉,清除引用,并且 ...
- tomcat热部署,更改java类不用重新加载context
修改类后,tomcat热部署会重新加载整个项目的context,影响开发效率.网上查的大多数是将server的modules标签中Auto Reload项改为Disabled,但是没有效果. 使用以下 ...
- IDEA第二章----配置git、tomcat(热部署)、database,让你的项目跑起来
第一节:下载git客户端,整合idea 由于博主公司用的git版本管理,所以本系列都是基于git版本工具的,当然SVN与git配置类似.git同样支持安装版和解压版,支持各种操作系统,我这里下载的是W ...
- Tomcat 热部署
Tomcat热部署就是实现不停机的发布项目和更新项目 1.修改conf目录下的tomcat-users.xml文件 在<tomcat-user>添加如下配置 [root@localhost ...
- JAVAEE——宜立方商城14:项目部署规划、Tomcat热部署、反向代理的配置
1. 学习计划 1.系统部署 2. 项目部署 2.1. 项目架构讲解 2.2. 网络拓扑图 2.3. 系统部署 2.3.1. 部署分析 e3-manager e3-manager-web e3-por ...
- 如何修改tomcat端口以及tomcat热部署
一.修改tomcat端口 1.首先我们需要知道,http的默认端口是80,tomcat的默认端口是8080,也就是说,如果我们将tomcat的默认端口号修改为80,输入网址的时候就可以不用输入端口了, ...
- Tomcat热部署,Web工程中线程没有终止
近期项目中,用 jenkins 热部署 web工程时,发现工程中静态持有的线程(将ScheduledExecutorService定时任务存储在静态Map中),导致不定时出现数据库访问事务关闭异常,如 ...
随机推荐
- 移动端H5 button 默认事件
button 在移动端下会有自带的默认事件,如果不处理的话,点击按钮的时候会有自动刷新页面的效果,原因就是button的默认事件没有阻止. 所以在点击事件里面要加上 e.preventDefault( ...
- How to manage concurrency in Django models
How to manage concurrency in Django models The days of desktop systems serving single users are long ...
- DNSmasq
是一款轻便的主要用于个人电脑的DNS:占用的端口是53(和DNS服务的bind的端口一致):我之所以关注它,就是因为在安装DCOS的时候是不允许占用53端口:但是其实默认安装的CentOS几乎都有这个 ...
- 洛谷P4721 【模板】分治 FFT(生成函数+多项式求逆)
传送门 我是用多项式求逆做的因为分治FFT看不懂…… upd:分治FFT的看这里 话说这个万恶的生成函数到底是什么东西…… 我们令$F(x)=\sum_{i=0}^\infty f_ix^i,G(x) ...
- unittest单元测试生成HTML测试报告
前言: HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展,它可以生成 HTML的 测试报告. 一.下载HTMLTestRunnerNew.py文件: 下载链接 ...
- Ubuntu14.04如何用root账号登陆系统
在虚拟机VMWARE中安装完Ubuntu后,只能用新建的普通用户登陆,很不方便做实验:那如何用root用户登陆账号呢? (1)用普通账号登陆,打开终端terminal: (2)在terminal的输入 ...
- 开启struts2自带的开发模式常量
在以前的开发中,当修改一些配置时总是不能及时地更新到服务器,我们总会重新部署或重启来更新改变的内容,在struts2中可以通过一个常量来达到此目的.即在struts.xml中的<struts&g ...
- 由hibernate配置cascade而导致的软件错误,并分析解决此问题的过程
本文与上一篇文章的软件背景相同,是一个安装部署的工具,这个工具会生成整套系统部署用的xml文件. 这个工具中有一个“克隆”功能,当安装包有新版本后,可以克隆之前的xml版本,并在其基础上做少许修改来适 ...
- mac上如何查看gif
今天生成了一个gif,结果用mac自带的图片预览功能打开,图片被切成一张一张的,不是动图效果了.原以为还得下第三方看图软件,后来百度下发现mac本身也可以打开. 方法一: 鼠标右击图片,选择“快速查看 ...
- Java基础 -- 泛型之泛型参数
泛型机制常用的参数有3个: “?”代表任意类型.如果只指定了<?>,而没有extends,则默认是允许任意类. extends关键字声明了类型的上界,表示参数化的类型可能是所指定的类型,或 ...