1. 程式人生 > >tomcat雙擊startup啟動閃退問題解決(首先讓視窗不會關閉,看到錯誤資訊才是解決問題的前提)

tomcat雙擊startup啟動閃退問題解決(首先讓視窗不會關閉,看到錯誤資訊才是解決問題的前提)

背景:

        環境變數配置好後,在命令列下執行Java、javac命令均正常;但是雙擊startup啟動tomcat時出現閃退現象,重新配置環境變數無效。


一、先看到問題才行(找準病因才好下手治病):

    閃退根本看不清命令列裡面列印了什麼,於是在startup.bat裡面,最後一行加上pause,使得視窗不會關閉,列印資訊如下:

    Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

    At least one of these environment variable is needed to run this program

    明明配置好了環境變數,為啥顯示找不到呢?

二、尋找解決辦法,網上大約有這樣幾種說法:(記在這裡備用)

        1、環境變數配置那裡,使用系統變數而不是使用者變數;(符合)

        2、檢查埠是否被佔用;(

顯然沒有被佔用,而且我們的報錯資訊也顯示了是環境變數問題)

        3、在已解壓的tomcat的bin資料夾下找到startup.bat,右擊->編輯。在檔案頭加入下面兩行:

             SET JAVA_HOME=D:\Java\jdk1.7 (java jdk目錄)
             SET TOMCAT_HOME=E:\tomcat-7.0 (解壓後的tomcat檔案目錄)

             在已解壓的tomcat的bin資料夾下找到shutdown.bat,右擊->編輯。在檔案頭加入下面兩行:

             SET JAVA_HOME=D:\Java\jdk1.7 (java jdk目錄)
             SET TOMCAT_HOME=E:\tomcat-7.0 (解壓後的tomcat檔案目錄)

             (這種辦法,顯然很麻煩,伺服器上那麼多tomcat,不可能挨個去設定一遍吧。。。,我是比較懶,繼續尋找一勞永逸的辦法)

三、那該怎麼解決呢?

       問題的根源在環境變數,重灌過、命令列視窗也確定正常,那麼,是不是tomcat和命令列讀取環境變數的方式不一樣呢?

       這時候能想到的驗證方式,就是重啟伺服器。結果真的可以了。關於具體的生效方式,環境變數使用等等,後面有機會再深入學習下。

 

       重啟伺服器還有個小插曲,伺服器是客戶提供的遠端伺服器,竟然沒找到重啟、關機。。。

       於是使用命令列方式重啟電腦:cmd——》shutdown -r