首页 > 极客资料 博客日记
使用 setenv 配置文件管理 Tomcat 的自定义环境变量
2024-08-30 20:30:04极客资料围观29次
1、背景描述
有时候,我们会在 catalina.bat 或 catalina.sh 文件中,自定义一些环境变量,例如额外指定 JDK 路径或设置 JVM 参数。
实际上,直接在 catalina.bat 或 catalina.sh 文件中,自定义环境变量的做法,是不规范的。
因为在对 Tomcat 进行(小版本)升级时,新版本的 catalina.bat 或 catalina.sh 文件,会覆盖旧版本的文件,从而导致原来的自定义环境变量失效。
对此,Tomcat 官方已在 catalina.bat(或 catalina.sh )文件的注释中(见下图),提示使用 setenv.bat(或 setenv.sh )配置文件(需额外创建)来保存自定义环境变量。
2、指定JDK路径
2.1、Windows系统
2.1.1、指定JDK路径之前
如上图所示,在配置 Tomcat 的自定义环境变量之前,Tomcat 默认使用(Windows)系统环境变量所配置的 JDK 路径。
2.1.2、指定JDK路径命令
如上图所示,先在 Tomcat 的 bin 目录下,创建一个 setenv.txt 文件,编辑好指定JDK路径的命令之后,再将 txt 后缀更改为 bat 即可。
set JAVA_HOME=自定义JDK路径
2.1.3、指定JDK路径之后
如上图所示,通过 setenv.bat 文件,成功使用了指定的 JDK 路径。
2.2、Linux系统
注意:在Linux系统中,Tomcat 使用的是 JRE 路径,因此需要指定的是 JRE_HOME 而不是 JAVA_HOME 。
2.2.1、指定JRE路径之前
如上图所示,在配置 Tomcat 的自定义环境变量之前,Tomcat 默认使用(Linux)系统环境变量所配置的 JDK 路径。
2.2.2、指定JRE路径命令
如上图所示,先在 Tomcat 的 bin 目录下,创建一个 setenv.sh 文件,编辑好指定JRE路径的命令之后,再将该脚本文件添加执行权限(chmod +x setenv.sh)即可。
JRE_HOME="自定义jre路径"
2.2.3、指定JRE路径之后
如上图所示,通过 setenv.sh 文件,成功使用了指定的 JRE 路径。
3、设置JVM参数
3.1、Windows系统
3.1.1、设置JVM参数命令
-Xms:设置 JVM 初始化时内存;
-Xmx:设置 JVM 最大可用内存;
这两个值一般设置相同的大小,以避免每次垃圾回收完成后 JVM 重新分配内存。
set JAVA_OPTS=-Xms自定义大小 -Xmx自定义大小
3.1.2、设置JVM参数之后
如上图所示,通过 setenv.bat 文件,成功使用了设置的 JVM 参数。
3.2、Linux系统
3.2.1、设置JVM参数命令
-Xms:设置 JVM 初始化时内存;
-Xmx:设置 JVM 最大可用内存;
这两个值一般设置相同的大小,以避免每次垃圾回收完成后 JVM 重新分配内存。
JAVA_OPTS="-Xms自定义大小 -Xmx自定义大小"
3.2.2、设置JVM参数之后
如上图所示,通过 setenv.sh 文件,成功使用了设置的 JVM 参数。
本文参考
【1】【zno2】【setenv.bat】【博客园】【2016-10-17】
【2】【song854601134】【 tomcat中管理环境变量之setenv.sh】【CSDN】【2024-05-31】
【3】【且行且思】【Tomcat通过setenv.bat指定jdk和jre(相对路径)】【博客园】【2023-06-28】
标签:
相关文章
最新发布
- Nuxt.js 应用中的 prerender:routes 事件钩子详解
- 【问题解决】Tomcat由低于8版本升级到高版本使用Tomcat自带连接池报错无法找到表空间的问题
- 【FAQ】HarmonyOS SDK 闭源开放能力 —Vision Kit
- 六、Spring Boot集成Spring Security之前后分离认证流程最佳方案
- 《JVM第7课》堆区
- .NET 8 高性能跨平台图像处理库 ImageSharp
- 还在为慢速数据传输苦恼?Linux 零拷贝技术来帮你!
- 刚毕业,去做边缘业务,还有救吗?
- 如何避免 HttpClient 丢失请求头:通过 HttpRequestMessage 解决并优化
- 让性能提升56%的Vue3.5响应式重构之“版本计数”