[轉]tomcat之一:指定tomcat運行時JDK版本 tomcat之一:指定tomcat運行時JDK版本

今天在作項目的時候,主管讓我在本機上啓動多個tomcat且指定不一樣的jdk環境。由於在企業的項目中個,對於同一個服務器中有多個jdk和tomcat,因此就須要手動指定不一樣的jdk。html

在網上找了不少資料,也沒解決。linux

  其中看過一個csdn博客: 在tomcat下指定JDK路徑 ,剛開始就直接用了,可是沒有解決問題。最後仔細看來看了看TOMCAT_HOME/bin/startup.bat腳本文件,發現其解決方案是不合理的。web

  最終找到了以下的博客:tomcat之一:指定tomcat運行時JDK版本 解決了問題。windows

      tomcat做爲平常開發的web應用服務器,給開發測試帶來了不少便利,tomcat的運行依賴JDK的支持,在安裝JDK時常常會配置環境變量:JAVA_HOME、CLASSPAT,且須要添加path變量。把應用部署到tomcat下時大多數不須要修改運行環境,可是有時候須要修改JDK的版本,從能夠修改tomcat運行時的JDK版本,咱們能夠知道使用tomcat時不時必需要配置JDK環境變量,由於咱們能夠經過修改tomcat的文件,指定tomcat運行時的JDK版本。

下面說明如何修改tomcat運行時JDK版本tomcat

windows服務器

一、解壓下載的tomcat;post

二、找到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的路徑;url

經過這裏咱們能夠看出能夠不設置JDK的環境變量;spa

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。

基於上面的運行方式,還有第二種修改方式,以下:

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

二、修改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的環境變量。

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

相關文章
相關標籤/搜索