【问题标题】:start /b /wait mvn clean install does not completestart /b /wait mvn clean install 未完成
【发布时间】:2016-12-05 20:55:11
【问题描述】:

我正在尝试使用以下命令首先生成我的 jar 文件,然后将其复制到目录中。这两个命令都在一个批处理文件中。

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 告诉命令行它完成了它的工作?

【问题讨论】:

  • 如果mvn是一个批处理文件(.bat.cmd),你需要使用call mvn ......
  • 这正是我所需要的。谢谢!
  • 相关:this post
  • @aschipfl call 有等待命令吗?
  • 好吧,没有/WAIT选项,call总是等待被调用的脚本或命令完成...

标签: windows maven batch-file


【解决方案1】:

试试这个代码:

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

请注意,START 命令需要一个窗口标题,即使它在与批处理相同的窗口中使用 /b 开关运行,因此启动命令标题为空。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-08
    • 2014-03-30
    • 2011-08-26
    • 2013-05-12
    • 2014-08-06
    • 2023-03-17
    相关资源
    最近更新 更多