我有很多(比方说10(A,B,C ...))eclipse插件,这是基于maven。
我有一个主pom文件,其中包含所有其他插件项目。
现在通过构建具有sonar:sonar
目标的主文件,它将构建所有插件。
所以我的问题:是否有任何方法可以排除一些插件,让我们说A和C.?
答案 0 :(得分:43)
有几种方法,其中一种方法是在要跳过的项目/模块的sonar.skip
内添加pom.xml
属性。
这不包括SonarQube分析的项目:
<properties>
<sonar.skip>true</sonar.skip>
</properties>
这也适用于Jenkins并运行Sonar作为后期构建操作。
有关详细信息,请参阅:Analyzing with SonarQube Scanner for Maven
答案 1 :(得分:1)
注意:此版本自版本4.3以来已弃用,不应再使用。
从documentation,可以选择使用sonar.skippedModules
您也可以从声纳模块部分here中记录的声纳管理页面执行此操作。
答案 2 :(得分:1)
我对正式记录的sonar.skip
并不满意:当我将其设置在POM子模块中时,我看到了
[INFO] Delaying SonarQube Scanner to the end of multi-module project
在应该包含的模块之后,然后
[INFO] sonar.skip = true: Skipping analysis
在反应堆建造结束时,没有分析/上载。
相反,我在根POM中将sonar.exclusions
定义为pattern,与要跳过的子模块中使用的源文件(按包路径)匹配。这似乎奏效了。
顺便说一句,在根POM中设置sonar.projectKey
无效;声纳抱怨
Project '…' can't have 2 modules with the following key: …
已通过将其移至.mvn/maven.config
来解决:
-Dsonar.projectKey=…