让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
上一篇: Java两种方式实现动态代理
下一篇: 苹果、亚马逊、超微驳斥恶意芯片报道
推荐阅读
-
Linux 安装JDK Tomcat MySQL的教程(使用Mac远程访问)
-
Linux 安装JDK Tomcat MySQL的教程(使用Mac远程访问)
-
让tomcat使用指定JDK
-
Jboss7使用指定jdk(续)
-
Jboss7使用指定jdk
-
如何只让Windows操作系统识别特定的U盘、只让使用某些U盘、只让使用指定的USB存储设备
-
Linux 安装JDK Tomcat MySQL(使用Mac远程访问)
-
动态网站项目(Dynamic Web Project)CRUD(增删改查)功能的实现(mvc(五层架构)+jdbc+servlet+tomcat7.0+jdk1.8),前端使用JSP+JSTL+EL组合
-
Excel使用格式刷一步让目标单元格的格式与指定格式完全一致
-
安全策略的使用,让指定IP可以连接SQLSERVER