使用 setenv 配置文件管理 Tomcat 的自定义环境变量
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】
【4】【yuer!】【如何修改linux下tomcat指定的jdk路径】【博客园】【2020-04-02】
使用 setenv 配置文件管理 Tomcat 的自定义环境变量的更多相关文章
- tomcat安装及环境变量配置
java环境的配置应该都学过吧,这里简单的讲一下. 下载安装java JDK,注意安装的路径,我们需要进行环境变量的配置. 2 安装完成以后,配置环境变量 环境变量的配置这里就以win7为例:右击计算 ...
- 一劳永逸部署项目:通过tomcat加载环境变量
一劳永逸部署项目:通过tomcat加载环境变量 转载自:https://blog.csdn.net/u010414666/article/details/46499953 一.说明 项目中经常会用到x ...
- windows下配置cygwin和dig的环境变量
配置cygwin和dig的环境变量 打开"控制面板"("开始">"设置">"控制面板"),然后双击" ...
- XCode 设置自定义环境变量
XCode 设置自定义环境变量 Product -> Scheme -> Edit Scheme -> 之后设置环境变量.
- 自学Linux Shell6.2-用户自定义环境变量
点击返回 自学Linux命令行与Shell脚本之路 6.2-用户自定义环境变量 1.设置局部用户定义变量 一旦启动bash shell(或者执行一个shell脚本),你就能创建这个shell进程可见的 ...
- Win10 配置Tomcat与Java环境变量
一:下载JKD与Tomcat包 JDK 密码:d9ym Tomcat 密码:z9pa 二:安装JAVA-JDK与配置环境变量 ①:记住安装的地址 ②:配置JAVA-JDK的环境变量, ...
- Tomcat安装与环境变量的配置
Tomacat的下载 去Tomcat官网下载,我使用的是apache-tomcat-7.0.78的版本. 安装 下载完成之后,我们解压缩到相应的目录.这里我解压缩到d盘下面 1.然后去配置系统的环 ...
- Java入门之Tomcat安装及环境变量配置
一.Tomcat下载 地址:http://tomcat.apache.org/download-80.cgi#8.0.39 本人用的是Tomcat/8.0.37免安装版,解压到一个目录,本人用的是:D ...
- Tomcat学习笔记【2】--- Tomcat安装、环境变量配置、启动和关闭
本文主要讲Tomcat的安装和配置. 一 Tomcat安装 1.1 下载 下载地址:http://tomcat.apache.org/ 1.2 安装 Tomcat是不需要安装的,解压压缩包即可. 在安 ...
- Xcode 8:在 Active Compilation Conditions 中自定义环境变量
来源:没故事的卓同学 链接:http://www.jianshu.com/p/96b36360bb2d 在Xcode 7我们在 OTHER_SWIFT_FLAGS中配置环境变量.但是有一个不爽的地方就 ...
随机推荐
- 在OwinSelfHost项目中获取客户端IP地址
在OwinSelfHost项目中,获取客户端的IP地址可以通过以下方法获得: base.Request.GetOwinContext().Request.RemoteIpAddress 创建一个Owi ...
- SpringBoot 对接美团闪购,检验签名,获取推送订单参数,text转json
接口文档地址 订单推送(已确定订单):https://open-shangou.meituan.com/home/docDetail/177 签名算法:https://opendj.meituan.c ...
- Golang 切片作为函数参数传递的陷阱与解答
作者:林冠宏 / 指尖下的幽灵.转载者,请: 务必标明出处. GitHub : https://github.com/af913337456/ 出版的书籍: <1.0-区块链DApp开发实战&g ...
- 二分专题总结 -ZHAOSANG
上一周训练了二分专题 可能是我之前自学的时候基础没有打牢,做的时候还是吃力的. 现总结遇到的一些二分题型和思路 二分+模拟(题目最多的) [https://ac.nowcoder.com/acm/co ...
- Python 华为云OSS建桶与文件上传下载删除及检索示例
华为云OSS建桶与文件上传下载删除及检索示例 实践环境 运行环境: Python 3.5.4 CentOS Linux release 7.4.1708 (Core)/Win10 需要安装以下类库: ...
- CCF 有趣的数
问题描述: 试题编号: 201312-4 试题名称: 有趣的数 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 我们把一个数称为有趣的,当且仅当: 1. 它的数字只包含0, 1 ...
- 支付宝小程序的级联选择器,对接简单操作,Cascader 级联选择器element_ui
首先,对于element_ui 的动接,由于需要数据格式是 但是支付宝提的接口返回的数据是另一种格式,并且支付宝的三级联动接口是先只有一个列表,点击列表项再发现请求,生成另外一个下拉选择, 需要这个三 ...
- docker nginx容器的均衡负载
创建三个docker容器以实现nginx的负载均衡 编写nginx的dockfile [root@docker nginx]# cat Dockerfile FROM nginx RUN echo ' ...
- 【Mybatis-Plus】01 快速上手
[官网快速上手地址] https://mp.baomidou.com/guide/quick-start.html#%E5%88%9D%E5%A7%8B%E5%8C%96%E5%B7%A5%E7%A8 ...
- douyin 今日头条 巨量登录滑块和douyin详情滑块分析
声明(lianxi a15018601872) 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容.敏感网址.数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均 ...