使用sonar-scanner扫描项目时,需要在扫描项目中添加sonar-project.properties文件,进行相关配置。

这些配置具体是什么意思?

# 定义唯一的关键字
sonar.projectKey=devops-hello-service

# 定义项目名称
sonar.projectName=My project

# 定义项目的版本信息
sonar.projectVersion=1.0

# 指定扫描代码的目录位置(多个逗号分隔,java项目源代码一般在src目录下面)
sonar.sources=.

# 执行项目编码
sonar.sourceEncoding=UTF-8

# 指定扫描java语言,如果不指定,则扫描目录下存在的全部
sonar.language=java

# 扫描java项目时,指定编译文件所在目录,不指定该目录会报错
sonarjava.binaries=target/classes

sonar-scanner使用之sonar-project.properties配置文件参数分析_java项目


一个项目带多个src目录,怎么配置扫描路径

假如目录如下:


MySrcFolder
src1
src2
src3
src4


您只能使用sonar.sourcesproperty 或sonar.exclusionsandsonar.inclusions属性来执行此操作。

例子:


MySrcFolder
src1
src2
src3
src4


如果只想分析src1和src3,则如下配置:

​sonar.sources=MySrcFolder/src1,MySrcFolder/src3​

或者:

sonar.sources=MySrcFolder
sonar.exclusions=src2/**,src4/**

或者:

sonar.sources=MySrcFolder
sonar.inclusions=src1/**,src3/**

以下规则适用于exclusions和inclusions属性:

*   Match zero or more characters
** Match zero or more directories
? Match a single character
file: Prefix to define a pattern based on absolute path

参考:

​https://stackoverflow.com/questions/23443974/sonar-project-properties-file​

​https://www.jianshu.com/p/db0665e15ddf​

​https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/​

​https://docs.sonarqube.org/latest/analysis/analysis-parameters/​