之前介绍了sonarqube的安装,其实这只是服务端,为了让平台可以识别到项目代码还需要安装一个工具来识别你要测试的代码,这就需要用到sonar scanner来扫描项目代码把项目代码信息传递给服务器端,由服务端统计并展现。下面咱们来介绍sonar scanner的使用
一 安装 SonarQube Scanner
步骤 1: 下载 SonarQube Scanner CLI
- 访问 SonarQube 的官方网站下载与你的操作系统兼容的 SonarQube Scanner CLI。
- 对于 Windows,下载 .zip 文件;对于 macOS 或 Linux,下载 .tar.gz 文件。
我下载的是sonar-scanner-cli-4.3.0.2102-windows版
步骤 2: 解压并设置环境变量
- 解压下载的文件到一个目录。
- 将 sonar-scanner 的 bin 目录添加到系统的 PATH 环境变量中。
步骤 3: 验证安装
打开命令行工具,输入 sonar-scanner --version 来验证安装是否成功。
二 配置 SonarQube Scanner
步骤 1: 创建 sonar-project.properties 文件
在项目的根目录下创建 sonar-project.properties 文件,并添加以下基本配置:
sonar.projectKey=your_project_key
sonar.projectName=Your Project Name
sonar.projectVersion=1.0
sonar.host.url=http://your-sonarqube-server-url
sonar.sources=.
sonar.tests=src/test/java
sonar.java.binaries=target/classes
步骤 2: 执行 SonarQube 分析
在命令行中,导航到项目的根目录并执行以下命令:
sonarscanner
访问sonarqube显示扫描项目的测试信息如下图:
三 处理微服务项目中的问题
问题 1: 编译后的类文件位置未指定
解决方案: 在 sonar-project.properties 中指定 sonar.java.binaries 属性,指向编译后的类文件位置。
问题 2: 多个微服务项目的配置
扫描代码后,对应的java等文件全部被忽略
解决方案: 在项目的根目录下创建 sonar-project.properties 文件。是scanner自动扫描项目跟目录下的所有微服务目录。
注:如果项目的class文件没有放置到合适位置,还需要使用mvn编译项目代码
问题 3: 权限或路径错误
解决方案: 检查 sonarscanner 的日志输出,确保没有路径错误或权限问题。如果需要,调整文件权限或使用具有适当权限的用户账户执行扫描。
通过遵循上述步骤成功地安装和配置 SonarQube Scanner,并对微服务项目进行代码质量分析。遇到问题时,检查配置文件和日志输出是解决问题的关键。SonarQube 提供了强大的代码分析功能,可以帮助你提高代码质量和维护性。