Q:Tomcat使用的jdk版本而不依赖环境变量
1)在tomcat中显式配置-JVM启动使用内存大小
bin/catalina.sh文件,在文件最上部配置JAVA_OPTS属性。set JAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=128M -XX:MaxPermSize=512m
linux下在catalina.sh中添加:
JAVA_OPTS="-Xms256m -Xmx512m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m"
说明:大小配置:Xmn < Xms <= Xmx。如果Xmn >= Xms,启动可能会报Too little Mermory size的错误。
2)tomcat使用特定的jdk版本
场景:多个web项目使用同一个linux发布服务器,已发布的老旧的项目必须在jdk1.7版本下运行,新项目需要在jdk1.8上才能运行,此时就需要让新项目中tomcat启动使用jdk1.8,不去影响之前项目正常运行
解决:vim打开tomcat目录下的bin/setclasspath.sh文件,在文件最上部配置JAVA_HOME和JRE_HOME两个变量。
JAVA_HOME=JDK安装目录
JRE_HOME=%JAVA_HOME%/jre
windows
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_181
set JAVA_JRE=%JAVA_HOME%\jre
linux
在bin下找到setclasspath.sh,在文件的最开始加入如下代码:
export JAVA_HOME=/u01/java_home/jdk1.8.0_181
export JRE_HOME=${JAVA_HOME}/jre
3.tomcat启动脚本之间的关系
bin目录下的
startup.sh---调用--->catalina.sh---引用--->setclasspath.sh
说明:
1>tomcat的startup.sh脚本主要用来判断环境,找到catalina.sh脚本源路径,将启动命令参数传递给catalina.sh执行;
2>setclasspath.sh检查各种变量是否赋值,验证tomcat启动停止需要涉及到的文件,保障tomcat顺利启动停止;
3>catalina.sh脚本使用了大量的判断,使用if作为参数的输入判断,核心的启动命令其实就是java命令。
Q:Tomcat使用的jdk版本而不依赖环境变量的更多相关文章
- windows10系统修改JDK版本后配置环境变量不生效怎么办
之前安装了个jdk8版本,今天突然想安装个更新版本的jdk11来用,但在安装好JDK11并配置环境变量后发现修改JDK版本后配置的环境变量不生效的.本文就给大家分享一下windows10系统修改JDK ...
- java运行机制、Jdk版本及Java环境变量
一.语言特性 计算机高级语言按程序的执行方式可分为:编译型和解释型两种.编译型的语言是指使用专门的编译器,针对特定的平台(操作系统)一次性翻译成被该平台硬件执行的机器码,并包装成该平台可执行性程序文件 ...
- java_Mac安装多个JDK版本并设置环境变量
JDK6.JDK7.JDK8三个版本的汇总地址:https://pan.baidu.com/s/1pKSYv8Z 安装 JDK6安装 JDK6下载地址 见网盘 安装完毕后确认版本 JavaForOSX ...
- tomcat之一:指定tomcat运行时JDK版本
tomcat作为日常开发的web应用服务器,给开发测试带来了很多便利,tomcat的运行依赖JDK的支持,在安装JDK时经常会配置环境变量:JAVA_HOME.CLASSPAT,且需要添加path变量 ...
- [转]tomcat之一:指定tomcat运行时JDK版本
今天在做项目的时候,主管让我在本机上启动多个tomcat且指定不同的jdk环境.因为在企业的项目中个,对于同一个服务器中有多个jdk和tomcat,所以就需要手动指定不同的jdk. 在网上找了很多资料 ...
- 生成war的jdk版本高于tomcat使用的jdk版本,导致项目不能正常被访问
记录一个耽误30分钟的一个坑: 生成war的jdk版本高于tomcat使用的jdk版本,导致项目不能正常被访问 报404错误
- JDK安装及JAVA环境变量配置(JDK1.8版本)
一:JDK官网下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.html JD ...
- Java入门之JDK的安装和环境变量的配置
Java的版本 1. Java SEjava se 以前称为J2SE.它允许开发和部署在桌面.服务器.嵌入式环境和实时环境中使用的 Java 应用程序.Java SE是基础包,但是也包含了支持 Jav ...
- Java 学习第一步-JDK安装和Java环境变量配置
Java学习第一步——JDK安装及Java环境变量配置 [原文] 2014-05-30 9:09 Java SE 阿超 9046 views Java作为当下很主流的编程语言,学习Java的朋 ...
- Java JDK的安装以及环境变量的配置
安装并配置完Android SDK之后,本想着可以做个简单的APP应用了,只是依然提示我“请确认Java JDK是否安装”类似的报错,于是又进行了Java JDK的安装以及环境变量的配置. 1.下载地 ...
随机推荐
- Python内建函数(H)
hasattr(object, name) 说明:判断对象object是否包含名为name的特性(hasattr是通过调用getattr(ojbect, name)是否抛出异常来实现的). 参数obj ...
- 深度探讨Java字节代码的操纵方法
本文为IBM工程师成富编写的<Java深度历险>的第一部分Java字节代码的操纵,像这样Java语言的深度理解和运用还没有很多文章,我们把他奉献给读者,希望读者们喜欢. AD:2013云计 ...
- Python 潮流周刊#79:Python 的元数据困境(摘要)
本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...
- uniapp+vue3酒店预订|vite5+uniapp预约订房系统模板(h5+小程序+App端)
自研uni-app+vue3+uv-ui跨三端仿同程/携程酒店预订系统Uni-Vue3-WeTrip. uniapp-vue3-wetrip原创基于vite5+uniapp+pinia2+uni-ui ...
- 使用TOPIAM 轻松搞定「Wiki.js」单点登录
本文将介绍 TOPIAM 与 Wiki 集成步骤详细指南. 应用简介 Wiki.js 是一款高度可定制且现代化的开源 Wiki 系统,专为团队知识管理和文档协作设计,具有强大的扩展性和跨平台支持能力. ...
- 中电资讯-乘风破浪数字经济,银行如何Hold数据?
近期各类规划密集发布人行金融科技发展规划发布 金融标准化"十四五"规划发布 "十四五"信息化规划发布 -- 和数据应用有关的各项政策密集出炉 数字经济发展中如何 ...
- 搭建 zerotier 的行星服务
放弃moon节点,直接搭建Zerotier根服务器_软件应用_什么值得买 Zerotier的优点在于其部署十分简便,只需在zerotier官网注册登陆并创建网络,在自己的设备安装客户端加入网络后,ze ...
- 【Python】【Flask】【字符串索引】计算人民币与美元的相互计算
目录 简介 Python Code 导包 设置首页 计算的接口 问题0:设置请求方式 问题1:关于接收数据可能存在的问题 问题2:返回结果 启动 完整代码 HTML Code 问题分析 分析:获取下拉 ...
- shell 下 exec,source,.,bash和sh以及export得区别
exec执行命令时,不会启用新的shell进程. source和 .也不会启用新的shell进程,在当前shell中执行,设定的局部变量在执行完命令后仍然有效. bash或sh执行时,会另起一个子 ...
- java 随机生成字符串 RandomStringUtils
使用RandomStringUtils,可以选择生成随机字符串,可以是全字母.全数字或自定义生成字符等等... 其最基础的方法如下: public static String random(int c ...