IntelliJ IDEA通过Tomcat启动项目过程分析
Tomcat部署项目的多种方式
Tomcat安装目录:${TOMCAT_HOME}
1.常规的webapps下
直接部署到${TOMCAT_HOME}/webapps下
2.利用控制台进行部署
3.外部部署
修改${TOMCAT_HOME}/conf/server.xml 在<Host>标签下添加web所在的目录指定path,如:
<Context path="/xx" docBase="D:\\workspace\\xx\\target\\xx" reloadable="true" sessionCookiePath="/xx"sessionCookieName="yoursessionname"></Context>
4.${TOMCAT_HOME}/conf下建工程目录镜像
在conf目录中,新建 Catalina\localhost目录,在该目录中新建一个xml文件,名字可以随意取,只要和当前文件中的文件名不重复就行了,该xml文件的内容为:
<Context path="/xx" docBase="D:\\workspace\\xx\\target\\xx" debug="0" privileged="true"></Context>
IntelliJ IDEA 启动项目分析
IntelliJ IDEA 就是使用第四种部署方式,不过还是有些区别
IDEA 启动/停止 Tomcat 通过catalina.bat run/stop
但是在${TOMCAT_HOME}/conf下,没有Catalina\localhost\xxxx.xml文件
在.IntelliJIdea2017.1目录下发现有相关的配置文件
文件的修改时间与内容和启动项目的信息吻合
说明 IDEA 启动E盘下Tomcat的时候,加载了C盘下的项目部署配置文件
下面看看catalina.bat的内容
判断CATALINA_HOME是否为空,如果为空就把当前位置设置为CATALINA_HOME,还有CATALINA_BASE
E:\Work\TomcatIDEA\apache-tomcat-7.0.54
既然确定IDEA是通过E:\Work\TomcatIDEA\apache-tomcat-7.0.54\bin\catalina.bat启动的,但是此Tomcat目录下的文件修改时间都不是IDEA 启动的时间,说明IDEA 没有修改Tomcat目录
在查看控制台信息时发现
Using CATALINA_BASE: "C:\Users\xxxxx\.IntelliJIdea2017.1\system\tomcat\Unnamed_jeesite"
Using CATALINA_HOME: "E:\Work\TomcatIDEA\apache-tomcat-7.0.54"
CATALINA_BASE和CATALINA_HOME区别
之前没有仔细了解CATALINA_BASE和CATALINA_HOME区别
网上资料:
CATALINA_HOME是Tomcat的安装目录,CATALINA_BASE是Tomcat的工作目录。如果我们想要运行Tomcat的 多个实例,但是不想安装多个Tomcat软件副本。那么我们可以配置多个工作目录,每个运行实例独占一个工作目录,但是共享同一个安装目录 Tomcat每个运行实例需要使用自己的conf、logs、temp、webapps、work和shared目录,因此CATALINA_BASE就 指向这些目录。 而其他目录主要包括了Tomcat的二进制文件和脚本,CATALINA_HOME就指向这些目录。
IntelliJ IDEA就是利用CATALINA_BASE运行多个实例,如图

via:http://blog.csdn.net/u013938484/article/details/69389836
IntelliJ IDEA通过Tomcat启动项目过程分析的更多相关文章
- IntelliJ IDEA 配置tomcat 启动项目
1.打开file中setting中搜索Application Servers,如下图 2.添加服务器类型,例如tomcat,如下图,添加完成之后可以选定tomcat的目录,tomcat Home配置t ...
- tomcat启动项目时一直在跑,项目没起来
1. 在整合maven项目时我遇到一个问题,tomcat启动项目总是报超时,后来我把timeout调到180秒,还是启动超时.看了不是timeout时间短的问题. 2.弄了一天也没解决,后来请大神给看 ...
- tomcat启动项目被重新加载,导致资源初始化两遍
之前没有遇到过这个问题,配了三天的项目了,惊人啊!!!各种怪问题全被我赶上了.真有种骂人的冲动. tomcat启动项目时,项目资源被加载两遍. 原因:配置虚拟目录导致,项目被重新加载. <Hos ...
- 解决eclipse使用tomcat启动项目后访问项目404的问题
今天启动项目的时候发现项目启动没有问题,但是一直访问不到页面,F12发现根本没有交互,百度后解决了,故记下来为以后提供方法,若有不同的解决方法,欢迎指教 1.首先要确保你的tomcat下没有项目,怎么 ...
- 十二 Cent OS下 tomcat启动项目响应速度很慢
在tomcat部署了web项目,每次启动项目都需要花费2-3分钟,甚至有的时候需要花费10分钟左右,实在是太慢了. 在网上查找解决方案,把 jdk/jre/lib/security/java.secu ...
- spring boot整合websocket之使用自带tomcat启动项目报错记录
项目中用到websocket,就将原来写好的websocket工具类直接拿来使用,发现前端建立连接的时候报404,经查找发现是因为原来用的是配置的外部tomcat启动,这次是spring boot自带 ...
- IDEA里面maven项目使用maven插件tomcat启动项目
1.首先在pom.xml添加tomcat插件依赖: <?xml version="1.0" encoding="UTF-8"?> <proje ...
- jetty和tomcat启动项目
首先jetty和tomcat区别,不全面说,只说我理解的.jetty架构比tomcat更为简单.jetty是基于Handler来实现的,易于拓展,因此更适合于同时处理且长时间保持连接:tomcat的架 ...
- tomcat启动项目的时候不报错而且启动的很快
最后发现是tomcat部署项目的时候,并没有将一部分文件复制到tomcat的目录下 方法 将没有添加的目录 Finish
随机推荐
- Java Statement PK PrepareStatement
PreparedStatement是用来执行SQL查询语句的API之一,Java提供了 Statement.PreparedStatement 和 CallableStatement三种方式来执行查询 ...
- 【原创】研发应该懂的binlog知识(下)
引言 这篇是<研发应该懂的binlog知识(上)>的下半部分.在本文,我会阐述一下binlog的结构,以及如何使用java来解析binlog. 不过,话说回来,其实严格意义上来说,研发应该 ...
- docker部署nginx
1. 下载nginx [root@localhost my.Shells]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/ ...
- nginx Location 语法基础知识
URL地址匹配是Nginx配置中最灵活的部分 Location 支持正则表达式匹配,也支持条件匹配,用户可以通过location指令实现Nginx对动丶静态网页的过滤处理. Nginx locatio ...
- H5 15-交集选择器
15-交集选择器 我是段落 我是段落 我是段落 我是段落 我是段落 <!DOCTYPE html> <html lang="en"> <head> ...
- 牛客练习赛 A题 筱玛的快乐
链接:https://ac.nowcoder.com/acm/contest/342/A来源:牛客网 筱玛的快乐 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 524288K,其他语 ...
- asp.net mvc或者其他程序无法打开excel——解决方案,C#处理Excel文件
问题描述:今天处理Excel时遇到一个问题,本地使用Microsoft.Jet.OLEDB.4.0处理,正常完成了需求, 上传到服务器后发生了异常,通过排查发现问题出现在对Excel文件的读取上,然后 ...
- 网站之.htaccess文件
Apache系统中的.htaccess文件(分布式配置文件)提供了针对目录改变配置的方法,也就是在一个特定的文件目录中放置一个包含指令的文件,以作用于此目录以及所有子目录.直白的说,.htaccess ...
- Git的配置与使用
Git的配置与使用 一,未配置过git 1.1,安装Git https://git-for-windows.github.io/ 1,2,鼠标右键点击Git Bash Here 1.3,输入命令 cd ...
- sass变量引入全局
https://www.jianshu.com/p/ab9ab999344b(copy) 本文以Sass做案例,Less的参考,基本配置大同小异. 假如我们有一个Sass的全局变量common.scs ...