2011-12-06 95 views
0

我在命令提示符下鍵入'mvn -U clean install'的命令,該命令會運行一段時間,然後通知命令提示符'BUILD SUCCESSFUL'還是'BUILD FAILED'。命令提示符文本日誌

我想實現一些將繼續解析文本,因爲它出現在命令提示符下,以便當文本匹配'BUILD SUCCESSFUL'或'BUILD FAILED'時,它會彈出相關消息(如避免繼續打開命令提示符以檢查Build是否已完成,或者是否在兩者之間失敗)。

所以,我的問題是:這怎麼辦?我在哪裏可以找到在命令提示符下生成的文本的日誌,我可以解析它?或者我可以直接在命令提示符下解析它,因爲它會產生?

謝謝!

回答

0

你可以做的是從你的java程序啓動mvn命令及其輸出重定向到任何一個流,或者您可以在您方便的

0

看你有很多不同的選擇有一個文件。例如,您可以通過Java Process打開命令提示符,然後使用Scanner掃描並解析Java中的輸出。

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

你有這個想法,現在你可以打開和解析輸出文件..

1

您可以使用批處理做到這一點。將程序的輸出運行到文件中,然後運行應用程序以讀取文件。這裏有一個例子:

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

你也許可以做到

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 
0

這就是爲什麼上帝創造了炮彈和腳本語言...

+2

我敢肯定它不是上帝發明了Bash :)) – AlenBer

+1

我說過上帝嗎?我說上帝:)) – alphazero

+0

你說得對!祝你今天愉快。 :) – alphazero