繁体   English   中英

命令提示符文本日志

[英]Command prompt text log

我在命令提示符下键入了“ mvn -U clean install”命令,该命令运行了一段时间,然后仅在命令提示符下通知“ BUILD SUCCESSFUL”或“ BUILD FAILED”。

我想实现一些将继续解析命令提示符中显示的文本的功能,以便当文本与“ BUILD SUCCESSFUL”或“ BUILD FAILED”匹配时,它会弹出相关消息(以避免继续显示)在中间打开命令提示符以检查Build是否已完成或在两者之间失败)。

所以,我的问题是:这怎么做? 在哪里可以找到命令提示符下生成的文本的日志,我可以对其进行解析? 或者,我可以在生成时直接在命令提示符下解析它?

谢谢!

您可以使用批处理来完成。 您将程序的输出运行到一个文件中,然后运行您的应用程序以读取该文件。 这是一个例子:

@echo off
buildCommand >> output.txt
java yourParserProgram output.txt

您可以做的是从Java程序中启动mvn命令,并将其输出重定向到您可以方便阅读的流或文件中。

您在那里有许多不同的选择。 例如,您可以通过Java进程打开命令提示符,然后使用Scanner扫描并解析Java中的输出。

Runtime rt = Runtime.getRuntime();
rt.exec("cmd.exe /c start command", null, new File(someFilename));

您有了主意,现在可以打开并解析输出文件了。

你可能可以做

mvn -U clean install ; xmessage 'Maven done'

作为一个简单的通知,然后向后滚动以查看结果。 为了花哨,像

mvn -U clean install | tee /some/convenient/log.txt
tail -n 10 /some/convenient/log.txt | \
   grep 'BUILD SUCCESSFUL' && xmessage 'Maven happy' || xmessage 'Maven sad'

也有很多漂亮的替代品xmessage ,但是大多数时候它确实可以完成工作。

如果您使用的是Windows计算机,则一种廉价而又肮脏的方式来获取程序已完成的通知只是将声音文件或类似文件的start排队。

mvn -U clean install
start.exe C:/Users/Somebody/Documents/Foo.wav

这就是为什么上帝发明了外壳和脚本语言...

http://rosettacode.org/wiki/Execute_a_system_command#Java

我相信您也可以将其用于非系统命令。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM