2015-08-18 54 views
1

我發現類似於this question的問題。當運行mvn sonar:sonar作爲Maven項目的Jenkins構建後操作時,JUnit測試中的@Test和@Ignore註釋被正確識別。當我通過SonarQube Eclipse插件在同一個項目上運行SonarQube預覽版時,註釋是而不是,並且顯示了(錯誤的)主要錯誤問題。SonarQube測試用例規則不考慮@Test註釋與Eclipse

我按照指示安裝和配置Eclipse插件herehere。我在某處丟失配置嗎?

  • SonarQube服務器5.1.2與Java插件3.4
  • 的Eclipse露娜4.4.0
  • M2E 1.6.1.20150625
  • SonarQube集成爲Eclipse 3.5.0.20150804-1512-RELEASE(4個特徵)
  • 的Apache Maven的3.2.2(對於詹金斯和Eclipse)

Upda TE:

我的多模塊項目的結構是這樣的:

Top level aggregator POM (is not the parent) 
    Project parent POM 
    Module 1 (extends project parent) 
    Module 2 (extends project parent) 

當頂級目錄擴大,沒有Maven依賴子目錄,因爲頂層POM不包括任何依賴關係(只有一個modules塊)。我在頂層運行SonarQube分析,因此SonarQube Eclipse插件沒有所需的依賴關係,我看到了錯誤。如果我在其中一個單獨的模塊上運行分析,我只會看到預期的錯誤,而不是額外的錯誤。

回答

1

此問題通常是由於缺少測試類路徑(缺少或不正確的sonar.java.test.libraries /二進制文件)引起的。由於https://jira.sonarsource.com/browse/SONARJAVA-1193,更新到SQ Java插件3.5將至少隱藏問題。

更新:

如果使用M2E,導入一個多模塊Maven項目,你應該得到每Maven的模塊,一個Eclipse項目時。然後你應該在每個葉子模塊上運行SonarQube分析。

+0

啊哈,感謝您的提示,我看到發生了什麼。我將用更多關於項目結構的細節更新我的問題。 – user944849

+0

我是否應該能夠在頂層模塊上運行Eclipse SonarQube分析,以獲得像上述結構的項目並獲得正確結果?或者我們必須總是在單獨的模塊(包含Maven Dependencies目錄)上運行SonarQube? – user944849

+0

如果您使用的是m2e,當導入爲Maven項目時,您應該爲每個Maven模塊獲得一個Eclipse項目。然後你應該在每個葉子模塊上運行SonarQube分析。 –

相關問題