java 通過程序啓動tomcat

我們有時候爲了方便,公司會做一個項目管理,便於啓動和關閉我們部署在服務器上面的項目,我這裏就採用了java的方式,嗯......僅限於參考......

public static void main(String args[]) throws IOException {
        String exec = "C:/software/apache-tomcat-8.5.24/bin/startup.bat";
        Runtime runtime = Runtime.getRuntime();
        runtime.exec(exec);
    }

如上所述,如果我們執行這段代碼,那麼我們的tomcat是啓動不了的,我們用cmd試一下,請看下面,會出現錯誤信息,(在bin目錄的父目錄下調用除外)

打開用於啓動Tomcat的批處理文件startup.bat,首先判斷CATALINA_HOME環境變量是否爲空,如果爲空,就將當前目錄設爲CATALINA_HOME的值。接着判斷當前目錄下是否存在bin\catalina.bat,如果文件不存在,將當前目錄的父目錄設爲CATALINA_HOME的值。根據Tomcat安裝目錄的層次結構,最後CATALINA_HOME的值被設爲Tomcat的安裝目錄。如果環境變量CATALINA_HOME已經存在,則通過這個環境變量調用bin目錄下的“catalina.bat start”命令。於是瞭解到兩個信息,一是Tomcat啓動時,需要查找CATALINA_HOME這個環境變量,如果在Tomcat的bin目錄下調用startup.bat,Tomcat會自動並正確設置CATALINA_HOME;二是執行startup.bat命令,實際上執行的是“catalina.bat start”命令

如果要想在任意目錄下都能啓動Tomcat,就需要設置CATALINA_HOME環境變量,你可以將CATALINA_HOME添加到Windows 系統的環境變量中,其值就是Tomcat的安裝目錄。添加CATALINA_HOME環境變量的過程和前述添加JAVA_HOME環境變量的過程是一樣的。如果你不想在系統的環境變量中添加,也可以直接在startup.bat文件中進行設置

set CATALINA_HOME=C:\software\apache-tomcat-8.5.24

我這裏採用將 CATALINA_HOME 添加到 startup.bat 文件中,shutdown.bat 同理。如果找不準位置,可以將設置CATALINA_HOME環境變量的這句代碼放到文件的第一行。

在這裏設置後,不論是通過cmd在其它目錄下啓動還是通過java代碼啓動tomcat都將無比絲滑......

注意:如果將該java程序打成war包放在tomcat下運行,則無法通過該程序啓動其他tomcat,原因暫時未知......當然,可將其打包成jar包通過cmd運行程序,直接裸奔,則程序可成功運行,打開其他的tomcat......

發佈了28 篇原創文章 · 獲贊 31 · 訪問量 8281
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章