2016-07-31 50 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开关运行,因此启动命令标题是空的。