如何讓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,在文件的最開始加入如下代碼:


set JAVA_HOME=/home/jdk/Java\jdk7\jdk1.7.0_51
set 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的環境變量。


有不正之處歡迎指正,謝謝!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章