9

我們有一個包含許多子模塊的巨大項目。完整構建需要超過30分鐘。如何在多模塊項目中(配置文件)maven目標

我不知道這次是如何分配不同的插件/目標,例如測試,靜態分析(FindBugs的,PMD,CheckStyle的,等...)

是否有可能以時間構建上看到(在兩個維度:模塊和目標)大部分時間都花在?

+0

相關問題http://stackoverflow.com/questions/5120470/how-不同階段的執行時間 – artbristol 2011-06-10 12:09:58

回答

0

我不認爲有一種方法來確定特定目標的時間。你可以做的是分別運行特定的目標,看看他們需要多長時間。因此,不要執行運行所有測試,「checkstyle」等的「mvn install」,只要執行「mvn checkstyle:checkstyle」來查看特定模塊需要多長時間。

當自動化服務器(continuum/jenkins/hudson)完成時,每次完成所有事情都很好,但是當您在本地構建時,有時最好能夠編譯。你可以做的一些事情是隻有當你傳遞某個參數或者配置文件時纔會運行靜態分析目標。另一種選擇是隻有在maven.test.skip = false時才讓它們運行。

如果您使用的是連續構建,請嘗試每4小時或每天進行一次靜態分析。

4

如果你運行像TeamCityJenkins (formerly Hudson) CI服務器構建,它會給你時間戳在構建過程中的每一步,你應該能夠使用這些值來確定哪些目標/項目的花費大部分時間。

我不認爲有任何內置的maven做到這一點。事實上,在artbristol發佈的相關問題中,有一個指向Maven feature request for this functionality的鏈接。不幸的是,這個問題沒有解決,我不知道它是否會被添加。

另一個可能的解決方案是編寫自己的插件,它可以爲您提供此構建元數據。

+1

Jenkins沒有意識到目標/模塊的個別時間安排。幫了很多 - 謝謝! – cs94njw 2013-06-06 10:03:10