发布: 更新时间:2024-08-31 09:59:17
有时候,我们会在catalina.bat或catalina.sh文件中自定义一些环境变量,例如额外指定JDK路径或设置JVM参数。
实际上,直接在catalina.bat或catalina.sh文件中自定义环境变量的做法是不规范的。因为在对Tomcat进行(小版本)升级时,新版本的catalina.bat或catalina.sh文件会覆盖旧版本的文件,从而导致原来的自定义环境变量失效。
对此,Tomcat官方已在catalina.bat(或catalina.sh)文件的注释中提示使用setenv.bat(或setenv.sh)配置文件(需额外创建)来保存自定义环境变量。
如上图所示,在配置Tomcat的自定义环境变量之前,Tomcat默认使用(Windows)系统环境变量所配置的JDK路径。
如上图所示,先在Tomcat的bin目录下,创建一个setenv.txt文件,编辑好指定JDK路径的命令之后,再将txt后缀更改为bat即可。
set JAVA_HOME=自定义JDK路径
如上图所示,通过setenv.bat文件,成功使用了指定的JDK路径。
注意:在Linux系统中,Tomcat使用的是JRE路径,因此需要指定的是JRE_HOME而不是JAVA_HOME。
如上图所示,在配置Tomcat的自定义环境变量之前,Tomcat默认使用(Linux)系统环境变量所配置的JDK路径。
如上图所示,先在Tomcat的bin目录下,创建一个setenv.sh文件,编辑好指定JRE路径的命令之后,再将该脚本文件添加执行权限(chmod +x setenv.sh)即可。
JRE_HOME="自定义jre路径"
如上图所示,通过setenv.sh文件,成功使用了指定的JRE路径。
-Xms:设置JVM初始化时内存;
-Xmx:设置JVM最大可用内存;
这两个值一般设置相同的大小,以避免每次垃圾回收完成后JVM重新分配内存。
set JAVA_OPTS=-Xms自定义大小 -Xmx自定义大小
如上图所示,通过setenv.bat文件,成功使用了设置的JVM参数。
-Xms:设置JVM初始化时内存;
-Xmx:设置JVM最大可用内存;
这两个值一般设置相同的大小,以避免每次垃圾回收完成后JVM重新分配内存。
JAVA_OPTS="-Xms自定义大小 -Xmx自定义大小"
如上图所示,通过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】