我有一個具有以下結構的 Maven 專案:
- root
- pom.xml
- project1
- project2
- tck (test compatibility kit)
- pom.xml
- src
- main
- java
該檔案夾tck包含一個包,用于測驗與需求的兼容性,并在 project1 和 project2 的測驗中重用,以表明這些專案是合規的。
tck/pom.xml遵循https://maven.apache.org/plugins/maven-jar-plugin/examples/create-test-jar.html#the-preferred-way的結構
我遇到的問題是 Maven 將tck包標識為帶有源檔案的常規包。事實上,當我在 IntelliJ 上打開模塊設定時,tck它會將模塊檢測 src/main/java為源檔案夾而不是測驗檔案夾。
這是一個問題,因為我在我的專案中使用 SonarLint,并且在tck檔案夾中,它們是使用斷言的測驗。不建議在生產代碼中使用斷言,SonarLint 會發現斷言。我問了一個關于https://community.sonarsource.com/t/sonarlint-running-locally-does-not-catch-parent-pom-xml-rule-exclusion/74764/2和 SonarLint 的問題,這與 SonarCloud/Qube 不同,從 Maven 專案中選擇其配置,因此如果 Maven 將其識別為源檔案夾而不是測驗檔案夾,它將報告誤報。
我想知道是否有辦法在 Maven 方面清楚地宣告這個包是一個測驗包,以避免我提出的 Sonarlint 錯誤配置。(我嘗試了 Sonarsource 社區的建議來更改 pom.xml,以便為專案的所有貢獻者更正配置)
此致,
uj5u.com熱心網友回復:
Maven 沒有將專案作為“測驗專案”的概念,僅測驗依賴項。您需要專門配置 SonarLint 以禁用該模塊的該規則。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/524011.html
