IDE集成管理Tomcat的基本原理
2024-10-21 14:25:32
知道IDE是怎样控制Tomcat的,对更清晰地理解Java Web的执行过程有帮助。在此以IntelliJ IDEA为例,简要描述一下IDE集成管理Tomcat的基本原理。
首先是两个重要的环境变量:
CATALINA_HOME
:Tomcat的软件安装目录,从这个目录去获取Tomcat的相关程序执行Tomcat的启动、停止等操作CATALINA_BASE
:Tomcat的工作文件(如配置文件、WebApp文件等)目录,默认使用CATALINA_HOME
的值
在IDEA中添加Tomcat环境时,实际上就是在设置CATALINA_HOME
的值(在启动Tomcat时使用),这样IDEA就知道了Tomcat安装在哪里了。
IDEA要启动Tomcat来运行当前的Java Web项目,就要设置Tomcat的配置,使得当前项目的编译结果(如<项目目录>/out/artifacts/xxx_Web_exploded/
)能够被Tomcat容器管理到。为了避免搞乱安装目录中的配置,IDEA不会直接修改Tomcat安装目录中的配置,而是将这些配置文件复制到一个临时目录(比如在Windows上是C:\Users\<username>\AppData\Local\JetBrains\IntelliJIdea<version>\tomcat\<guid>
),这个临时目录就是CATALINA_BASE
。
每次在IDEA中启动Tomcat时,IDEA都会做一次这样的复制,然后修改这个临时目录中的配置文件,比如:
- 端口号(
conf/server.xml
中设置<Connector>
的port
) - WebApp的部署路径(
conf/Catalina/localhost/ROOT.xml
中设置<Context>
的docBase
)
IDEA执行$CATALINA_HOME/bin/catalina.sh run
命令来启动Tomcat进程,启动时会设置CATALINA_HOME
和CATALINA_BASE
这两个环境变量。
Tomcat进程一直保持运行,直至IDEA执行$CATALINA_HOME/bin/catalina.sh stop
命令来结束之。
最新文章
- iOS图片拉伸技巧
- 最难面试的IT公司之ThoughtWorks代码挑战——FizzBuzzWhizz游戏
- mysql数据库中如何修改已建好的表中的【列名】【列的属性】
- HTML5-表格
- codefoces round193a
- ElasticSearch-PHP的API使用(二)
- QVariant(相当于是Java里面的Object,起到一个数据类型“擦除”的作用,可以使用Q_DECLARE_METATYPE进行注册)
- Android 自定义View (一)
- ascii 转换为 utf-8
- awk使用正则精确匹配
- Hama顶点编程
- 生产者消费者的java实现
- ul li 实现层级列表显示
- 38.html----相对于父元素的fixed定位的实现
- SQL删除指定列的指定长度的字符
- BBS-项目流程分析-表的创建
- SpringBoot Logback日志配置
- curl命令大全
- 全面解析python类的绑定方法与非绑定方法
- [iOS微博项目 - 4.3] - 设置每条微博边框样式
热门文章
- WanJetpack项目:用Jetpack实现玩Android,追求最官方的实现方式
- pytest框架fixture的使用
- Vue-Router 详细解析学习
- i春秋-Phone number(union注入+hex转码)
- IllegalArgumentException occurred while calling setter for property
- iOS开发之Video转GIF
- 使用JDBC(Dbutils工具包)来从数据库拿取map类型数据来动态生成insert语句
- DVWA(八):File Inclusion 全等级文件包含
- CVE-2021-1732 Windows 本地权限提升漏洞 EXP 下载
- S3C2440—1.熟悉裸机开发板