2014-07-20 69 views
0

我使用Tomcat作爲Web服務器,Ant作爲構建工具,我需要使部署過程更快一點,以便我可以專注於主要事物 - 我的程序。使用批處理文件的Tomcat和Ant操作自動化

所以我試圖創建一個小的.bat文件,其中包含我需要做的部署工作在我的機器上的所有操作。它包括tomcat服務器關閉,ant buildfile,刪除目錄以及將新創建的.war複製到服務器目錄中。

當我在命令提示符下鍵入它們時,所有路徑和命令都沒有任何問題,因此問題不在命令中。

問題是.bat程序在我使用的任何tomcat或ant操作之後終止,並且沒有完成序列。可能是因爲它們的性質是相同的 - 在命令提示符下自己執行。當我使用3個不同的.bat文件時,每個文件只包含一個tomcat/ant命令,那麼所有文件都可以正常工作。

任何想法如何處理它?是否可以在命令提示符下自動執行該過程?

P.S.我忘了提及(但我想這很明顯),我使用Windows(特別是7)。

回答

1

從批處理文件中啓動的某些應用程序很可能不是控制檯應用程序,而是Windows GUI應用程序。或者那些應用程序是啓動其他應用程序的控制檯應用

在啓動控制檯應用程序(如findstr.exe)時,批處理文件的執行會暫停,直到控制檯應用程序終止。但是,啓動Windows GUI應用程序會導致應用程序作爲單獨的進程執行,因此批處理文件立即執行。

你必須使用

start "A title of your choice" /wait "Full path and name of application" "Parameter 1 for application" Parameter_2_for_application 

有關命令start細節來運行其作爲單獨的進程中自動執行這些應用程序在命令提示符窗口或者help startstart /?

進入查看我在How to call a batch file in the parent folder of current batch file?答案與全面介紹了在批處理文件中啓動或調用批處理文件或其他應用程序的各種方法。