2016-07-31 74 views
0

我想使用以下命令首先生成我的jar文件,然後將其複製到目錄。這兩個命令都在批處理文件中。開始/ b /等待mvn乾淨安裝不完成

mvn -f mypathtofile\pom.xml clean install 
xcopy mypathtojarfile\myjar.jar newpath\*.* /R /Y 

我發現了什麼是我的XCOPY從未發生過,因爲MVN需要一些時間來生成JAR文件和XCOPY從來沒有等到MVN已完成啓動前生成的文件。當我搜索目標目錄時,我意識到這一點,並且從未找到應該複製的jar文件。

於是我做了一些研究,發現我也許能夠使用:

start /b /wait mvn -f mypathtofile\pom.xml clean install 
xcopy mypathtojarfile\myjar.jar newpath\*.* /R /Y 

這時候,我遇到了在那裏MVN正常啓動,並生成jar文件的問題,但它從來沒有從返回的那。基本上,我的命令提示符在mvn完成後永遠暫停,並且永遠不會執行批處理文件中的下一行。這是我在命令提示符中看到的:

[exec] [INFO] BUILD SUCCESS 
             [exec] [INFO] ------------------------------------------------------------------------ 
             [exec] [INFO] Total time: 1.997 s 
             [exec] [INFO] Finished at: 2016-07-31T15:20:35-04:00 
             [exec] [INFO] Final Memory: 18M/488M 
             [exec] [INFO] ------------------------------------------------------------------------ 
             [exec] 

有沒有辦法讓mvn告訴命令行它完成了它的工作?

+0

如果'mvn'是一個批處理文件('.bat'或'.cmd'),您需要使用'call mvn ...'... – aschipfl

+0

這就是我所需要的。謝謝! – SpartaSixZero

+0

相關:[本文](http://stackoverflow.com/q/33218246) – aschipfl

回答

0

試試這個代碼:

start "" /b /wait mvn -f mypathtofile\pom.xml clean install 
xcopy mypathtojarfile\myjar.jar newpath\*.* /R /Y 

需要注意的是啓動指令要求窗口標題,即使在同一個窗口作爲你的批次/ b開關運行,因此啓動命令標題是空的。