我在这里的一个项目中使用maven工作,我遇到了一个相当奇怪的问题(至少对我而言)。当我执行:mvn包时,一切似乎都可以,但是当maven完成后,mvn的输出就会消失。为了测试它,我只做了一个:mvn --help,我看不到输出。一旦命令完成,则清除提示。我正在使用重定向来完成我的工作:mvn package> out然后:输入以查看输出。任何帮助将不胜感激!
感谢名单!
解决:对任何发现这个有用的人。在mvn.bat的末尾有一行
cmd /C exit /B %ERROR_CODE%
我必须这样评论:
@REM cmd /C exit /B %ERROR_CODE%
答案 0 :(得分:2)
检查MAVEN_TERMINATE_CMD是否设置为on。如果没有设置它:
set MAVEN_TERMINATE_CMD=
检查maven的bin目录中的mvn.bat脚本是否包含没有/ b选项的退出命令。它应以以下行结束:
cmd /C exit /B %ERROR_CODE%
如果两种方法都没有解决您的问题,请将MAVEN_BATCH_PAUSE变量设置为on:
set MAVEN_BATCH_PAUSE=on
在你运行maven之前这应该导致mvn.bat在退出之前等待键击。
答案 1 :(得分:1)
以下是如何在Windows 7和Maven 3.2.1下的批处理文件中使用mvn的示例
:: ensure variables do not propagate outside this batch call
setlocal
:: save current directory and change to ".."
pushd ..
:: tell mvn.bat to exit after done, not to spawn cmd (why is this by default..)
set MAVEN_TERMINATE_CMD=on
:: spawn new cmd prompt to handle the mvn call, which blocks and exits
cmd /c mvn clean install
:: do something fancy here
:: cd to saved directory (pushd)
popd
:: pause the script and require pressing a key to continue
pause