一,前言
我们都知道,tomcat启动前需要配置jdk环境变量,如果没有配置jdk的环境变量,那么tomcat启动的时候就会报错,也就是无法启动。
但是在我们的工作或者学习过程中,有的时候会出现tomcat需要使用不同的jdk版本。
这个时候要怎么办呢?似乎唯一的办法就是在使用不同版本的jdk的时候,去更改环境变量中的java_home变量。
这样做也确实可行,但是频繁的更改java_home变量,不仅操作起来略显繁琐,每一次都要改来改去的,而且假如使用结束后忘记将java_home改回来,那么将会造成一系列的不可预料的问题,例如eclipse启动不了了。
那么有没有一种方法可以在不更改环境变量的情况下,让tomcat使用我们指定的jdk呢?
答案是:有。
只要在tomcat中添加相关配置即可,在公布答案之前我们先思考一下,为什么tomcat启动需要jdk或者是jre?
因为tomcat启动的时候需要运行在java虚拟机(jvm)中,或者说要启动一个虚拟机进程,再简单一些就是我们的代码需要jvm来执行,自然需要启动一个jvm。
其实eclipse启动的时候也同样启动了一个jvm进程,在windows的任务管理器中我们可以看到:
因为我现在的电脑上正在运行一个eclipse所以这里有一个java虚拟机进程。
那么如何让tomcat使用指定的jdk呢?首先来看一下不让tomcat使用指定jdk,即使用电脑的环境变量中配置的jdk的时候是什么样的。
二,tomcat使用默认环境变量中的jdk配置
看一下环境变量中我们配置的jdk版本:打开命令行窗口->输入 java -version->回车
可以看到,我的电脑上环境变量中配置的是jdk10。
启动tomcat(我使用的tomcat版本是:apache-tomcat-7.0.85):进入bin目录双击startup.bat。
打开浏览器,访问localhost:8080,可以看到tomcat的默认欢迎页
那么到底tomcat启动是时候是不是使用了环境变量中配置的jdk10呢?看一下启动日志信息
很明确了,上图中红色框框中的部分说明,启动的tomcat确实是使用我环境变量中配置的jdk10,还将jdk所在的文件目录打印了出来。
同时在任务管理器中,也可以看到多出了一个java虚拟机进程
三,让tomcat使用指定jdk
其实特别简单,只需要在bin目录中的setclasspath.bat文件前面添加:
set java_home=g:\tools\jdk8_64
set jre_home=g:\tools\jdk8_64\jre
如下图
这里,我指定tomcat使用jdk1.8来启动。双击startup.bat,访问localhost:8080,出现了tomcat的默认欢迎页,说明tomcat启动成功。
那么到底有没有使用jdk1.8呢?看启动日志
没有错了,就是使用我在setclasspath.bat中配置的jdk1.8。
说完怎么让tomcat使用我们指定的jdk,我们再来看看,如果如何修改tomcat使用的jdk的内存大小,请查阅:修改tomcat 使用的jvm的内存
远程不易,转载请声明出处:https://www.cnblogs.com/zhangchengzi/p/9759682.html
如对本文有疑问, 点击进行留言回复!!
第三次学JAVA再学不好就吃翔(part88)--ArrayList嵌套ArrayList
使用ffmpeg视频切片并加密和视频AES-128加密后播放
JAVA程序设计:最长重复子串(LeetCode:1044)
LiveGBS国标GB/T28181云端录像分布式录像存储自动清理时移回看录像下载播放
网友评论