簡體   English   中英

SonarQube:如何分析共享多個模塊的項目?

[英]SonarQube: How to analyze projects that share multiple modules?

我有四個項目,其中有幾個共同的模塊。

當我嘗試運行SonarQube完整分析時,只有第一個項目被成功分析。 從第二個項目開始,我收到“服務器中已存在XXX模塊”的錯誤消息。

我的四個項目中的每個項目都包含一個聚合器POM。 這就是我用來構建它們並運行Maven聲納:聲納目標的方法。

解決此問題的最佳方法是什么?

選擇一個要分析共享模塊的主項目; 首先分析該項目。

在其他(后續)項目中,通過將以下內容添加到共享模塊的pom.xml中,從SonarQube分析中排除共享模塊:

<properties>
    <sonar.skip>true</sonar.skip>
</properties>

如果通過共享模塊,則意味着該模塊同時存在於項目A和項目B中,那么是的,這將造成問題,因為SONAR僅允許存在一個模塊實例。

您可以做的是在Project 1上運行SONAR,然后清除工作區,然后再次為Project 2運行它。等等。

這樣,您一次只能在SONAR中擁有一個模塊實例。

您可能可以編寫一個腳本來逐個執行SONAR作業,並在Jenkins中為此創建一個新作業。

看來您違反了組件/模塊/庫約定或濫用它。 根據Configuration Management原則,您不應多次“包含”(在二進制配置管理的情況下進行構建)組件。

擁有一個庫,該庫具有許多其他依賴的庫,而最后一個庫是獨立的,這只是您必須像管理其他任何框架一樣管理appart的依賴。

您只需要自己安裝/部署此組件,然后再引用它即可。 相同的原則適用於SonarQube Configuration Manager 您不能通過不同的“產品”來分析共享組件。

他們必須有自己的生命周期。 當四個項目彼此並行時,如何管理共享庫的演變?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM