2017-07-17 78 views
1

我的項目結構如下:如何在jenkins中嵌套多模塊maven項目?

services 
    A 
    a1 
    a2 
    pom.xml 
    B 
    b1 
    b2 
    pom.xml 
    pom.xml 

我想掃描最內層的項目(a1a2b1b2)。在詹金斯後步驟,我補充說:「分析性」在執行SonarQube掃描儀沒有財產的文件,主要是:

sonar.modules=A,B 
sonar.sources=src 

我想從服務目錄下建,但與此錯誤失敗:

The folder 'src' does not exist for 'A:a1'

我明白,SonarQube試圖找到src目錄A裏面,但我有幾個嵌套的項目,如a1(我也試過A.modules=a1,a2沒有成功)

我怎樣才能讓掃描儀分析這些項目?

+0

從這個問題不清楚你爲什麼不能簡單地使用'mvn sonar:sonar'。這應該在沒有任何額外配置的情況下使用所有子模塊分析整個項目。你不需要編輯'pom.xml'或'settings.xml',這應該可以開箱即用。你能告訴我使用'mvn sonar:sonar'分析時丟失了什麼? – janos

+0

@ janos,我誤解了mvn聲納:事實上,我發現它比物業更方便。但它需要在settings.xml中配置聲吶,如@slartidan參考文檔 – yuxh

回答

2

這是我的解決方案:

sonar.modules=A,B 
A.sonar.modules=a1,a2 
B.sonar.modules=b1,b2 
sonar.projectBaseDir=. 
sonar.sources=src 

關鍵的一點是projectBaseDir,我希望這可以幫助別人滿足類似的問題。

0

當使用SonarQube分析maven項目時,使用maven目標sonar:sonar而不是sonar.properties配置。

使用maven時,您甚至不必更改任何分析屬性。 Maven配置已經提供了有關源文件夾的聲納信息等。請查詢​​瞭解如何設置它。通常你不需要改變這個項目的pom.xml(只有你本地的maven settings.xml)。

+0

您的意思是在pom中添加依賴關係嗎?我不想修改某人的項目。無論如何只是編輯「分析屬性」? – yuxh

+0

感謝您的快速回復。我不喜歡編輯settings.xml。我終於想出一個辦法,看到我的答案。 – yuxh