我試圖確定Tomcat安裝目錄是否從Windows的startup.bat啓動。如何從未安裝Tomcat的服務器上安裝/運行時找到Tomcat
當Tomcat作爲服務運行時,很容易確定tomcat7.exe在哪裏運行,但我不知道如何在腳本啓動時執行該操作。我知道當Tomcat從腳本啓動時,java正在運行,但可執行文件路徑是針對java jre的。有什麼我可以做,以找到基於java的卡塔利娜運行?
我試圖確定Tomcat安裝目錄是否從Windows的startup.bat啓動。如何從未安裝Tomcat的服務器上安裝/運行時找到Tomcat
當Tomcat作爲服務運行時,很容易確定tomcat7.exe在哪裏運行,但我不知道如何在腳本啓動時執行該操作。我知道當Tomcat從腳本啓動時,java正在運行,但可執行文件路徑是針對java jre的。有什麼我可以做,以找到基於java的卡塔利娜運行?
假設你知道的startup.bat的位置,然後只要進入上述兩個文件夾,你就大功告成了。
假設你只有這個文件的快捷方式,那麼你需要檢索一個進程列表,解釋應用程序和他們正在使用的文件的位置,類似於基於Unix的操作系統的ps aux
命令。幸運的是,Windows也有這樣的事情。從這個偉大的Q/A:Is there a command in Windows like ps -aux in UNIX?,更具體地說,this answer,在Windows中找到tomcat的位置的方法是執行wmic
應用程序(通過CMD,如果需要)並編寫process
命令,這將提供當前列表應用程序運行及其參數。例如,我的startup.bat從初始化文件Tomcat和使用了上面的命令(單線),這樣的結果:
java.exe "C:\Program Files\Java\jdk1.7.0_40\bin\java" -Djava.util.logging.config.file="<TOMCAT_HOME>\conf\logging.properties" -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs="<TOMCAT_HOME>\endorsed" -classpath "<TOMCAT_HOME>\bin\bootstrap.jar;<TOMCAT_HOME>\bin\tomcat-juli.jar" -Dcatalina.base="<TOMCAT_HOME>" -Dcatalina.home="<TOMCAT_HOME>" -Djava.io.tmpdir="<TOMCAT_HOME>\temp" org.apache.catalina.startup.Bootstrap start
這是同樣的結果,但在幾行分裂緩解可讀性:
java.exe "C:\Program Files\Java\jdk1.7.0_40\bin\java"
-Djava.util.logging.config.file="<TOMCAT_HOME>\conf\logging.properties"
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.endorsed.dirs="<TOMCAT_HOME>\endorsed"
-classpath "<TOMCAT_HOME>\bin\bootstrap.jar;<TOMCAT_HOME>\bin\tomcat-juli.jar"
-Dcatalina.base="<TOMCAT_HOME>"
-Dcatalina.home="<TOMCAT_HOME>"
-Djava.io.tmpdir="<TOMCAT_HOME>\temp"
org.apache.catalina.startup.Bootstrap start
注意:在上面的結果中,我用<TOMCAT_HOME>
代替了真實路徑。
TL; DR做到這一點:
java.exe
和含有Tomcat的jar文件的參數。由於您明確提到* .bat和Windows,因此這裏是您的答案。
1.大多數的tomcat應用程序是以zip格式而不是msi/exe。你提取的地方實際上是它的位置。通過單擊startup.bat文件啓動應用程序
2.用記事本打開bat文件。您還可以找到應用程序的相對路徑。
3.查找路徑變量。
希望這個信息能幫助
我之前只做了wmic進程列表,只能回到java.exe。不知道我可以得到命令行或列表完整找到tomcat。謝謝 – mav