首页 > 其他分享 >使用 setenv 配置文件管理 Tomcat 的自定义环境变量

使用 setenv 配置文件管理 Tomcat 的自定义环境变量

时间:2024-08-30 20:26:13浏览次数:9  
标签:bat 配置文件 Tomcat 路径 setenv JVM 自定义

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 )配置文件(需额外创建)来保存自定义环境变量。

image

2、指定JDK路径

2.1、Windows系统

2.1.1、指定JDK路径之前

image

如上图所示,在配置 Tomcat 的自定义环境变量之前,Tomcat 默认使用(Windows)系统环境变量所配置的 JDK 路径。

2.1.2、指定JDK路径命令

image

如上图所示,先在 Tomcat 的 bin 目录下,创建一个 setenv.txt 文件,编辑好指定JDK路径的命令之后,再将 txt 后缀更改为 bat 即可。

set JAVA_HOME=自定义JDK路径

2.1.3、指定JDK路径之后

image

如上图所示,通过 setenv.bat 文件,成功使用了指定的 JDK 路径。

2.2、Linux系统

注意:在Linux系统中,Tomcat 使用的是 JRE 路径,因此需要指定的是 JRE_HOME 而不是 JAVA_HOME 。

2.2.1、指定JRE路径之前

image

如上图所示,在配置 Tomcat 的自定义环境变量之前,Tomcat 默认使用(Linux)系统环境变量所配置的 JDK 路径。

2.2.2、指定JRE路径命令

image

如上图所示,先在 Tomcat 的 bin 目录下,创建一个 setenv.sh 文件,编辑好指定JRE路径的命令之后,再将该脚本文件添加执行权限(chmod +x setenv.sh)即可。

JRE_HOME="自定义jre路径"

2.2.3、指定JRE路径之后

image

如上图所示,通过 setenv.sh 文件,成功使用了指定的 JRE 路径。

3、设置JVM参数

3.1、Windows系统

3.1.1、设置JVM参数命令

image

-Xms:设置 JVM 初始化时内存;

-Xmx:设置 JVM 最大可用内存;

这两个值一般设置相同的大小,以避免每次垃圾回收完成后 JVM 重新分配内存。

set JAVA_OPTS=-Xms自定义大小 -Xmx自定义大小

3.1.2、设置JVM参数之后

image

如上图所示,通过 setenv.bat 文件,成功使用了设置的 JVM 参数。

3.2、Linux系统

3.2.1、设置JVM参数命令

image

-Xms:设置 JVM 初始化时内存;

-Xmx:设置 JVM 最大可用内存;

这两个值一般设置相同的大小,以避免每次垃圾回收完成后 JVM 重新分配内存。

JAVA_OPTS="-Xms自定义大小 -Xmx自定义大小"

3.2.2、设置JVM参数之后

image

如上图所示,通过 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】

标签:bat,配置文件,Tomcat,路径,setenv,JVM,自定义
From: https://www.cnblogs.com/Javaer1995/p/18361142

相关文章

  • uniapp自定义头部导航栏布局(优化版)
    H5与微信小程序效果图普通版//utils/system.js //获取系统信息 constsystemInfo=uni.getSystemInfoSync(); //获取状态栏的高度,H5状态栏的高度默认是0 exportconstgetStatusBarHeight=()=>systemInfo.statusBarHeight||0; //获取标题栏高度 exportconstgetT......
  • 自定义深度渲染实现物体描边
    自定义深度渲染实现物体描边SceneTexture首先我们要先了解清楚关于深度渲染的几个属性的含义SceneTexture(场景纹理)节点:通过这个节点,输入UV值,你可以获取到这个UV对应的像素点的各个属性,比如SceneColor(场景颜色),SceneDepth(场景深度),CustomDepth(自定义深度),Opacity(不透明度)等......
  • HarmonyOS开发指南:ArkUI自定义Toast弹窗样式规范
     可以通过使用自定义弹窗和定时器达到类似Toast的效果。场景一:自定义弹窗实现弹窗中加入icon和文字,支持Button。方案:⦁   使用@CustomDialog装饰器装饰自定义弹窗,在此装饰器内进行自定义内容(也就是弹框内容)、并创建构造器,与装饰器呼应相连。⦁   使用定时器,在页面......
  • mysql参数和配置文件优先级
    mysqld-auto.cnf,持久化配置参数文件(位于DATA目录)(mysqld-auto.cnf中的变量如果和my.cnf相同则使用mysqld-auto.conf中的)命令行输入的配置参数代码中指定配置文件my.cnf中的配置参数命令行输入配置文件my.cnf中的配置参数/etc目录中的配置文件my.cnf中的配置参数/etc/mysql目录中......
  • vite3接入vue-quill:处理图片,自定义字体和字体大小,切换源码模式
    环境适用版本:node:14.21.2"vue":"^3.2.26""vite":"^3.1.0"安装模块:"@vueup/vue-quill":"^1.2.0","quill-html-edit-button":"^3.0.0","quill-image-resize-module":"^3......
  • 【案例65】WebSphere启动比tomcat启动慢的测试
    以下为多次测试的一些结论,谨慎使用,请一定做好测试后在使用。1.在原先慢的WAS环境下,添加-Dsun.reflect.inflationThreshold=15,可以有效提升was下的响应速度,和Tomcat下速度相当,但该参数=15的情况我们Tomcat以前还没有使用过。2.原先was环境下慢的原因是:没有设置nodeagent的in......
  • 自定义TextView实现首尾相接跑马灯效果
    需求:TextView内容不满一行的时候不滚动,超过一行的时候缓慢滚动到最后,然后添加空白间隔继续滚动(我们项目用的是三个View一块滚动,停止应该是不一块停止的,毕竟三条内容应该不一样长,所以就需要个监听是否都停止了,如果都停止了,就一块开启继续滚动)importandroid.animation.Animato......
  • appsettins.json 复制到输出文件夹 CopyToOutpuDirectory 配置文件 csproj
    复制配置文件到输出文件夹<ItemGroup><NoneUpdate="appsettings.json"><CopyToOutputDirectory>Always</CopyToOutputDirectory></None><NoneUpdate="nlog.config"CopyToOutputDirectory="Always&qu......
  • 金蝶云星空组织间结算清单增加自定义字段说明
    单据增加字段相关结算单增加,基础资料控件,映射资料。 业务单据-其他出库单增加字段 配置功能特性   创建结算清单时,会生成到自定义字段上      ......
  • python读取配置文件&&简单封装 公共配置文件 config
    之前有做过把爬虫数据写到数据库中的练习,这次想把数据库信息抽离到一个ini配置文件中,这样做的好处在于可以在配置文件中添加多个数据库,方便切换(另外配置文件也可以添加诸如邮箱、url等信息)1.configparser模块python使用自带的configparser模块用来读取配置文件,配置文......