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.下载地 ...
随机推荐
- 2023 CCPC 深圳
2023 CCPC 深圳 D. Bot Brothers 有一棵 \(n\) 个点的树,\(m\) 个叶子,编号为 \(1∼m\).两人在树上博弈,均从根出发,轮流行动,每次走向一个当前所在节点的子节 ...
- linux模拟HID USB设备及wireshark USB抓包配置
目录 1. 内核配置 2. 设备配置 附 wireshark USB抓包配置 笔者开发USB设备时的一些记录 1. 内核配置 内核启用USB Gadget,使用fs配置usb device信息. De ...
- 小白PDF阅读器开发-页面元素分割
以前用手机看PDF格式的电子书时,总感觉非常别扭,PDF格式的电子书在手机上缩放严重,字体太小,想看清楚得来回放大拖动,看书的兴致就在来回缩放拖动间被消耗没了!每次用手机看PDF电子书时就想着得做款能 ...
- canvas(八)绘制图片和坐标转换
1.绘制图片 相关api及其参数:ctx.drawImage() 参数 说明 参数一 图片对象 参数二,三 可选,图片裁剪的基点(原图左上角为原点) 参数四,五 可选,图片裁剪区域的宽高(基于原图大小 ...
- WxPython跨平台开发框架之用户选择和标签组件的设计
在系统的权限管理中,往往都会涉及到用户的选择处理,特别是基于角色的访问控制中,很多情况下需要用到选择用户的处理.本篇随笔,基于WxPython跨平台开发框架,采用原有开发框架成熟的一套权限系统理念,对 ...
- 全网最详细的Spring入门教程
为什么用Spring 什么是Spring Spring 是一款开源的轻量级 Java 开发框架,旨在提高开发人员的开发效率以及系统的可维护性. Spring的一个最大的目的就是使JAVA EE开发更加 ...
- 鸿蒙UI系统组件01——文本组件(Text/Span)
如果你也对鸿蒙开发感兴趣,加入"Harmony自习室"吧!点击下面的名片关注公众号. 1.概述 Text是文本组件,是我们开发UI界面中最常见的组件之一,通常用于展示用户的视图,如 ...
- PM-如何优雅的抄袭代码?世上所有代码都是一大抄
你借了我的思想,在我的思想上,发展出一套理好的思想. 你借了我的代码,在我的代码上,开发出一套理好的代码. 你们知道程序员最熟悉,最熟练,最常用的两个快捷键是哪两个吗?没错,估计你现在心中所想的就 ...
- maven 太垃圾
Java mon amour: Maven sucks like hell http://www.javamonamour.org/2010/08/maven-tricks.html 搜 why ma ...
- Ubuntu 的网络图标不见了,怎么解决
1. 问题 Ubuntu 的网络图标不见了 2. 解决 service network-manager status # 此时,你会发现状态是 active(running),不用管 service ...