由于具有相同规则的相同代码和相同的SonarQube服务器,我使用mvn sonar:sonar
进行扫描时发现了大量不同数量的错误和漏洞, sonar-scanner
CLI和sonar-project.properties文件或Sonar Jenkins插件。比如,超过两倍。Sonar Maven插件在多模块Maven项目中发现比Sonar Jenkins或Sonar CLI扫描器更多的错误
我有属性文件和服务器上的模块设置,我可以看到两行扫描程序的代码行数相同。我可以在一个报告中看到测试,但在另一个报告中看不到测试,但测试不会计入代码行或任何错误。 Maven发现Jenkins不是squid的一个例子:S2160,其中父类与子类是同一个模块的一部分。
我主要关心的是Maven发现的附加错误是否合法,尤其是考虑到Sonar不赞成使用Maven的“SonarQube分析”后制作操作以及推荐的Jenkins扫描仪在查看时不会发现同样的问题相同的代码。哪种扫描器是正确的,如果是Maven,在Jenkins中使用已弃用的步骤仍然可以吗?
我匿名属性文件与模块,但它看起来是这样的:
# Required metadata
sonar.projectKey=groupId:artifactID
sonar.projectName=My Project name
sonar.projectVersion=0.0.4-SNAPSHOT
# Comma-separated paths to directories with sources (required)
sonar.sources=coreModule/src/main/java,appModule/src/main/java
sonar.tests=coreModule/src/test/java,appModule/src/test/java
sonar.modules=core,app
core.sonar.projectBaseDir=coreModule
core.sonar.sources=src/main/java
core.sonar.projectName=My Core Module Name
app.sonar.projectBaseDir=appModule
app.sonar.sources=src/main/java
app.sonar.projectName=My App Module Name
# Language
sonar.language=java
sonar.java.source=8
# Encoding of the source files
sonar.sourceEncoding=UTF-8
我认为这个包装很多。它似乎没有改变任何东西,如果我在mvn clean或之前运行扫描仪,它在目标文件夹中,但有没有一种特殊的方式来配置它? Jenkins设置为在构建结束时运行“SonarQube扫描仪”。我可以根据需要在本地运行命令行扫描程序,获得相同的结果。 – Sloloem