我們都知道,tomcat啟動前需要配置JDK環(huán)境變量,如果沒有配置JDK的環(huán)境變量,那么tomcat啟動的時候就會報錯,也就是無法啟動。
但是在我們的工作或者學(xué)習(xí)過程中,有的時候會出現(xiàn)tomcat需要使用不同的JDK版本。
這個時候要怎么辦呢?似乎唯一的辦法就是在使用不同版本的JDK的時候,去更改環(huán)境變量中的JAVA_HOME變量。
這樣做也確實可行,但是頻繁的更改JAVA_HOME變量,不僅操作起來略顯繁瑣,每一次都要改來改去的,而且假如使用結(jié)束后忘記將JAVA_HOME改回來,那么將會造成一系列的不可預(yù)料的問題,例如eclipse啟動不了了。
那么有沒有一種方法可以在不更改環(huán)境變量的情況下,讓tomcat使用我們指定的JDK呢?
答案是:有。
只要在tomcat中添加相關(guān)配置即可,在公布答案之前我們先思考一下,為什么tomcat啟動需要JDK或者是JRE?
因為tomcat啟動的時候需要運行在java虛擬機(JVM)中,或者說要啟動一個虛擬機進程,再簡單一些就是我們的代碼需要JVM來執(zhí)行,自然需要啟動一個JVM。
其實eclipse啟動的時候也同樣啟動了一個JVM進程,在windows的任務(wù)管理器中我們可以看到:
因為我現(xiàn)在的電腦上正在運行一個eclipse所以這里有一個Java虛擬機進程。
那么如何讓tomcat使用指定的JDK呢?首先來看一下不讓tomcat使用指定JDK,即使用電腦的環(huán)境變量中配置的JDK的時候是什么樣的。
二,tomcat使用默認環(huán)境變量中的JDK配置
看一下環(huán)境變量中我們配置的JDK版本:打開命令行窗口->輸入 java -version->回車
可以看到,我的電腦上環(huán)境變量中配置的是JDK10。
啟動tomcat(我使用的tomcat版本是:apache-tomcat-7.0.85):進入bin目錄雙擊startup.bat。
打開瀏覽器,訪問localhost:8080,可以看到tomcat的默認歡迎頁
那么到底tomcat啟動是時候是不是使用了環(huán)境變量中配置的JDK10呢?看一下啟動日志信息
很明確了,上圖中紅色框框中的部分說明,啟動的tomcat確實是使用我環(huán)境變量中配置的JDK10,還將JDK所在的文件目錄打印了出來。
同時在任務(wù)管理器中,也可以看到多出了一個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,出現(xiàn)了tomcat的默認歡迎頁,說明tomcat啟動成功。
那么到底有沒有使用JDK1.8呢?看啟動日志
沒有錯了,就是使用我在setclasspath.bat中配置的JDK1.8。
聯(lián)系客服