让tomcat使用指定JDK

Posted 张橙子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了让tomcat使用指定JDK相关的知识,希望对你有一定的参考价值。

一,前言

我们都知道,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 

 

以上是关于让tomcat使用指定JDK的主要内容,如果未能解决你的问题,请参考以下文章

windows下修改tomcat启动时指定的jdk

如何配置让tomcat自动寻找与他在同一目录下的jdk,

Tomcat指定特定JDK版本

Tomcat指定特定JDK版本

设置tomcat使用指定的jdk版本

Tomcat - windows安装两个JDK并运行指定的JDK