可以在多个位置配置项目分析设置。下面是层次结构:
全局和项目级别界面中显示的大多数属性也可以设置为分析参数,但下面列出的参数只能在分析时设置。
服务器
属性 | 描述 | 默认 |
---|---|---|
sonar.host.url | 服务器 URL | http://localhost:9000 |
项目配置
属性 | 描述 | 默认 |
---|---|---|
sonar.projectKey | 项目的独特属性。允许的字符是:字母、数字、和 至少有一个非数字。 | 对于 Maven 项目,这默认为: |
项目标识
属性 | 描述 | 默认 |
---|---|---|
sonar.projectName | 将在 Web 界面上显示的项目的名称。 | 对应 Maven 项目,否则使用项目密钥。如果未提供,并且 DB 中已有名称,则不会被覆盖 |
sonar.projectVersion | 项目版本 | 对应 Maven 项目 |
认证
默认情况下,需要用户身份验证以防止匿名用户浏览和分析实例上的项目,并且在运行分析时需要传递这些参数。身份验证在全局安全(/实例管理/安全/)设置中强制实施。
属性 | 描述 | 默认 |
---|---|---|
sonar.login | 具有项目执行分析权限的 SonarQube 用户的身份验证令牌或登录名。 | |
sonar.password | 如果使用身份验证令牌,请设置为空。如果使用的是登录名,则这是用户名的密码。 |
Web 服务
属性 | 描述 | 默认 |
---|---|---|
sonar.ws.timeout | 等待 Web 服务呼叫响应的最大时间(以秒为单位)。只有在分析期间等待服务器响应 Web 服务调用遇到超时时,才对修改此默认值有用。 | 60 |
项目配置
属性 | 描述 | 默认 |
---|---|---|
sonar.projectDescription | 项目描述。 | 对应 Maven 项目 |
sonar.links.homepage | 项目主页。 | 对应 Maven 项目 |
sonar.links.scm | 项目源存储库。 | 对应 Maven 项目 |
sonar.sources | 包含主源文件的目录路径,使用逗号分隔。 | 从 Maven、Gradle、MSBuild 项目的生成系统读取。当未提供时,将默认为项目基目录。 |
sonar.sourceEncoding | 源文件的编码。 | 系统编码 |
sonar.working.directory | 设置使用Sonar Scanner触发的分析的工作目录(版本大于 2.0)。 | .scannerwork |
sonar.scm.provider | 此属性可用于显式告诉 SonarQube 在项目上使用的 SCM(如果自动检测不起作用)。 |
分析日志记录
属性 | 描述 | 默认 |
---|---|---|
sonar.log.level | 控制分析期间生产的日志的数量/级别。 | INFO |
sonar.verbose | 向客户端和服务器端分析日志添加更多详细信息。 | FALSE |
sonar.scanner.dumpToFile | 输出日志到指定文件 | |
sonar.scanner.metadataFilePath | 设置扫描仪写入文件的位置 sonar.working.directory的值 |
跳过指定检查
在项目下的 sonar-project.properties 扫描配置文件中添加:
# 这里启用了两个忽略,e1 和 e2,分别忽略了两个检查
sonar.issue.ignore.multicriteria=e1,e2
# Console usage - ignore a single class
sonar.issue.ignore.multicriteria.e1.ruleKey=java:S106
sonar.issue.ignore.multicriteria.e1.resourceKey=**/SonarExclude.java
# Too many parameters - ignore the whole package
sonar.issue.ignore.multicriteria.e2.ruleKey=java:S107
sonar.issue.ignore.multicriteria.e2.resourceKey=com/baeldung/sonar/*.java