tomcat 指定(自定義)JDK路徑的兩種方式


1.情景展示

  tomcat7使用jdk1.7;tomcat8使用jdk1.8。兩個tomcat在一台機器下同時啟動,你會發現這兩個tomcat使用的是一個版本的jdk,

  那就是你配置過的JAVA_HOME。

  查看你的Windows下當前Java版本

  查看我的tomcat7引入的java版本

  第一步:知道tomcat7的根目錄下的startup.bat文件

  {TOMCAT_HOME}/startup.bat,在最后一行添加:pause;,進行保存

  這樣,啟動tomcat時,運行startup.bat文件的DOS命令就不會自動關閉。

  這樣,我們就可以看到tomcat所使用的幾個主要的變量。 

  CATALINA_BASE: 

  CATALINA_HOME:

  CATALINA_TMPDIR: 臨時文件存放位置

  JRE_HOME: JVM所在根路徑(運行java文件)

  CLASSPATH: 

  我們可以看到,tomcat7的java配置是jdk1.8,說明它也是從JAVA_HOME里拿到的。

2.解決方案

  想要解決這個問題,可以這樣:

  tomcat8不用做修改,默認從環境變量JAVA_HOME中取;修改tomcat7中對於JAVA_HOME的引用。

  修改tomcat7的jdk使用路徑。

  方案一:修改startup.bat。(推薦使用,簡單粗暴)

  文件位置:${TOMCAT_HOME}/bin/startup.bat

  在正式代碼開始前,添加JAVA_HOME和JRE_HOME的配置。

:配置java路徑
set JAVA_HOME=D:\oracle-java-1.7-x86\jdk1.7.0_79
set JRE_HOME=D:\oracle-java-1.7-x86\jdk1.7.0_79\jre

  保存,重啟tomcat。

  JRE的配置修改成功,將startup.bat中的pause;去掉即可。

  教你一招:這里也可以使用相對路徑哦。

  比如:我的tomcat和jdk都防在D盤根目錄下

set JAVA_HOME=..\oracle-java-1.7-x86\jdk1.7.0_79
set JRE_HOME=..\oracle-java-1.7-x86\jdk1.7.0_79\jre

  路徑正確,引用成功。

   路徑錯誤,引用失敗,報錯如下:

  找不到JRE。 

  說明:通常我們在新服務器上部署項目時,往往需要自己提供tomcat和jdk,為了方便,我們就可以這樣做:   

  將jdk放到Tomact目錄下,在startup.bat文件中使用相對路徑指定JAVA_HOME和JRE_HOME的位置。

  這樣,我們不僅省去了配置java環境變量的麻煩,還省去了為某個tomcat指定jdk的麻煩;

  而且,tomcat想放到哪個磁盤的哪個目錄下,位置可以隨時進行遷移,而不必再次修改startup.bat文件中tomcat對於jdk的引用。

  方案二:修改setclasspath.bat文件

  位置:${TOMCAT_HOME}/bin/setclasspath.bat

  第一步:修改java.exe的路徑(Java類)

  打開該文件,找到指定jdk的這句話

  這就是為什么tomcat默認從環境變量中尋找jdk的原因。 

:原來的
:set _RUNJAVA="%JRE_HOME%\bin\java.exe"
:修改后
set _RUNJAVA="D:\oracle-java-1.7-x86\jdk1.7.0_79\bin\java.exe"

  修改成你的jdk所在路徑,保存。

  第二步:修改jdb.exe的路徑(Java類調試器) 

  還是該文件,修改,保存,重啟tomcat即可。

:修改前
set _RUNJDB="%JAVA_HOME%\bin\jdb.exe"
:修改后
set _RUNJDB="D:\oracle-java-1.7-x86\jdk1.7.0_79\bin\jdb.exe"  

  可以將原來的代碼使用:進行注釋掉,這樣,后期也容易改回去。 

  java.exe:JVM

  jdb.exe: JAVA調試器

  注意:這里用方式一的pause;無法進行測試,因為我們並沒有改JRE_HOME的值。

  所以,測試的話,需要將jdk1.8編譯好的項目放入到tomcat7中,倘若報錯信息是:java版本不匹配,則證明已經修改成功。

 

寫在最后

  哪位大佬如若發現文章存在紕漏之處或需要補充更多內容,歡迎留言!!!

 相關推薦:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM