一,前言

我们都知道,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的更多相关文章

  1. Tomcat以指定JDK运行

    如果一台机器上有多个Tomcat,可能存在不同的Tomcat需要不同版本JDK才能运行的情况,这时候就需要指定JDK来同时运行多个Tomcat了. 在windows环境下以批处理文件方式启动tomca ...

  2. Linux环境下TomCat使用指定JDK的版本

    服务器是web服务器,在上面安装了jdk1.7和jdk1.8.及多个tomcat应用,默认/etc/profile 配置的jdk1.7,大部分tomcat应用使用的也是jdk1.7, 但目前有一个新项 ...

  3. tomcat设置指定jdk版本

    windows 1.解压下载的tomcat; 2.找到bin下的setclasspath.bat文件:在文件的开始出添加如下代码来设定JAVA_HOME和JRE_HOME的路径: set JAVA_H ...

  4. Tomcat手动指定jdk路径

    Windows系统: 修改bin下的setclasspath.bat,在开头处添加: rem set specific jdkset JAVA_HOME=%CATALINA_HOME%\jdk1.8. ...

  5. linux在tomcat中指定jdk

    setclasspath.sh和catalina.sh中写入 export JAVA_HOME=/qbtapp/jdk-8u111-linux-i586/jdk1.8.0_111export JRE_ ...

  6. Tomcat下指定JDK

  7. [转]tomcat之一:指定tomcat运行时JDK版本

    今天在做项目的时候,主管让我在本机上启动多个tomcat且指定不同的jdk环境.因为在企业的项目中个,对于同一个服务器中有多个jdk和tomcat,所以就需要手动指定不同的jdk. 在网上找了很多资料 ...

  8. 在tomcat中配置jdk的不同版本

    在tomcat中配置jdk的不同版本---------------------------------------------------------------------------------- ...

  9. tomcat之一:指定tomcat运行时JDK版本

    tomcat作为日常开发的web应用服务器,给开发测试带来了很多便利,tomcat的运行依赖JDK的支持,在安装JDK时经常会配置环境变量:JAVA_HOME.CLASSPAT,且需要添加path变量 ...

随机推荐

  1. 记:使用vue全家桶 + vux组件库 打包成 dcloud 5+ app 开发过程中遇到的问题

    vue-cli 版本:2.9.6   webpack 版本:3.6.0 1. vue-cli 安装好之后,不是自动打开默认浏览器 在 config文件夹 ---> dev选项中,有个 autoO ...

  2. c++中strcmp,strcopy函数的使用

    1.strcmp(str1,str2) C/C++函数,比较两个字符串, 设这两个字符串为str1,str2,若str1==str2,则返回零:若str1<str2,则返回负数:若str1> ...

  3. Mysql根据出生日期计算年龄五种方法比较

    方法一 SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(birthday)), '%Y')+0 AS age 方法一缺陷,就是当日期为未来日期时 ...

  4. Linux网络配置(10)

    Linux网络配置原理图(NAT模式) 查看网络IP和网关: CentOS7:ip addr CentOS6:ifconfig Ping测试主机之间网络的连通性:ping [www.baidu.com ...

  5. office web apps server安装

    1.准备服务器 准备一台windows server 2012 R2服务器,修改计算机名称加入域,如果是通过虚拟机复制导致sid冲突,可以先运行 c:\windows\system32\sysprep ...

  6. SCRUM起源

    http://www.scrumcn.com/agile/scrum-knowledge-library/scrum.html#tab-id-3 Scrum的原始含义 Scrum原始含义是指英式橄榄球 ...

  7. 2019nc#7

    题号 标题 已通过代码 题解/讨论 通过率 团队的状态 A String 点击查看 进入讨论 566/3539  通过 B Irreducible Polynomial 点击查看 规律 730/229 ...

  8. ZOJ -2112 Dynamic Rankings 主席树 待修改的区间第K大

    Dynamic Rankings 带修改的区间第K大其实就是先和静态区间第K大的操作一样.先建立一颗主席树, 然后再在树状数组的每一个节点开线段树(其实也是主席树,共用节点), 每次修改的时候都按照树 ...

  9. CF - 652F Ants on a Circle

    题目传送门 题解: 先观察蚂蚁相撞, 可以发现, 如果我们将相撞的2个蚂蚁互换位置的话,蚂蚁相当于没有碰撞体积,直接穿过去了.所以我们可以直接计算出最终哪些位置上会有蚂蚁. 接下来就需要知道蚂蚁们的最 ...

  10. C#开发BIMFACE系列22 服务端API之获取模型数据7:获取多个模型的楼层信息

    系列目录     [已更新最新开发文章,点击查看详细] 在<C#开发BIMFACE系列21 服务端API之获取模型数据6:获取单模型的楼层信息>中介绍获取单个模型的所有楼层信息.某些场景下 ...