Maven展示了cmd windows 7的奇怪行为

时间:2011-07-11 13:11:29

标签: windows maven cmd

我在这里的一个项目中使用maven工作,我遇到了一个相当奇怪的问题(至少对我而言)。当我执行:mvn包时,一切似乎都可以,但是当maven完成后,mvn的输出就会消失。为了测试它,我只做了一个:mvn --help,我看不到输出。一旦命令完成,则清除提示。我正在使用重定向来完成我的工作:mvn package> out然后:输入以查看输出。任何帮助将不胜感激!

感谢名单!

解决:对任何发现这个有用的人。在mvn.bat的末尾有一行

    cmd /C exit /B %ERROR_CODE%

我必须这样评论:

    @REM cmd /C exit /B %ERROR_CODE%

2 个答案:

答案 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
相关问题