如何让Tomcat在指定JDK版本下启动 而不依赖环境变量中配置的版本

今天给客户部署软件时遇到了一个尴尬的问题:我们的软件只有部署在JDK1.7环境的tomcat下才会比较稳定。而客户的服务器上装的是JDK1.8,而且他们的环境还不能变,因为服务器中的其他程序都是依赖JDK1.8的环境开发的。他们又不能单独部署。后来经过查资料发现tomcat可以自己指定JDK环境的版本和JDK的路径。下面就把指定的步骤和大家说下,主要是修改文件。根据系统的不同,分为windows的配置和linux的配置。

windows

 

1、解压下载的tomcat;

 

2、找到bin下的setclasspath.bat文件;在文件的开始出添加如下代码:

 

 

set JAVA_HOME=D:\Program Files\Java\jdk7\jdk1.7.0_51
set JRE_HOME=D:\Program Files\Java\jdk7\jre7

 

 

 

 

 

上面的意思是设定JAVA_HOME和JRE_HOME的路径;

 

通过这里我们可以看出可以不设置JDK的环境变量;

 

linux

 

在bin下找到setclasspath.sh,在文件的最开始加入如下代码:

 

 

export JAVA_HOME=/home/jdk/Java\jdk7\jdk1.7.0_51
export JRE_HOME=/home/jdk/Java\jdk7\jre7

 

 

 

 

 

 

 

修改了setclasspath文件之后,tomcat在启动时便使用设定的JDK。

 

但是为什么这样设置之后就可以呢?

 

我们都知道启动tomcat可以通过运行bin下的startup.bat,startup.bat会调用catalina.bat文件,而catalina.bat会调用setclasspath.bat文件来获取JAVA_HOME和JRE_HOME这两个环境变量的值,因此若要在tomcat启动时指向特定的JDK,则需在setclasspath.bat文件的开头处加上JAVA_HOME和JRE_HOME。

 

基于上面的运行方式,还有第二种修改方式,如下:

 

1、修改tomcat/bin/catalina.bat,增加 set JAVA_HOME=D:\Program Files\Java\jdk7\jdk1.7.0_51

 

2、修改tomcat/bin/setclasspath.bat,同样增加

 

 

set JAVA_HOME=D:\Program Files\Java\jdk7\jdk1.7.0_51

set JRE_HOME=D:\Program Files\Java\jdk7\jre7

 

 

 

 

 

 

 

 

这两种方式使用任何一种都可以实现修改tomcat的依赖JDK环境,同时可以不配置JDK的环境变量。

 

有不正之处欢迎指正,谢谢!

    原文作者:一步一台阶
    原文地址: https://blog.csdn.net/liufangbaishi2014/article/details/76937682
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞