本文记录了Maven工程使用SonarQube完成代码评估,并对其中指定模块进行排除和项目权限管理等
有些代码是使用相关插件或工具生成的,这些代码通常存在高冗余或书写不规范现象,不符合代码质量要求,但不影响使用,应排除在代码质量评估之外
本文基于上一篇文章的基础配置
本文将通过一个gRPC项目作为例子,该项目有 eureka-server,lib,provider,consumer 4个模块,其中lib包含gRPC的proto文件和基于该proto文件生成的Java类,代码评估时应该跳过lib模块
另外,建议先在IDE安装SonarLint插件,在本地开发时就能提供部分Sonar代码审核功能
文章目录
一 获取token
在上一篇文章中我们已经设定了提交代码评估需要授权,也给新建用户 lin 分配了对应权限,所以后续的Sonar项目开发就以 lin 的身份进行。
这里需要注意,使用token要比使用密码更安全,到 我的账号– 安全下生成token(令牌),建议以项目名命名,每个项目使用各自的 token ,以后可以针对项目撤销token授权
先将token复制保持,下一步会用到
二 配置pom文件
官方的对应说明在:https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Maven
官方给的配置示例里将一些通用配置(通过PluginGroups来提供插件默认groupId、sonar主机地址等)放到Maven的 setting.xml 文件里(也是为了在不修改pom文件的前提下可以直接运行maven-sonar指令),这里我不是很建议这么做
对于安全性配置,如密码等应该放着setting.xml里,因为pom文件时默认公开的。但除此之外,例如为了方便或统一配置将公共/默认属性放到setting.xml 里就没什么必要了,这会导致项目和Maven的高耦合。
1 添加插件
这里直接在根工程的pom文件里添加如下内容
<build>
<pluginManagement>
<plugins>