IDEA中使用SonarQube扫描Scala代码

1. 前提准备

  1. 搭建好SonarQube,页面可访问。
    IDEA中使用SonarQube扫描Scala代码_第1张图片

  2. sonarqube已添加集成Scala插件(sonar-scala-plugin-1.5.0.315.jar)
    下载地址:https://docs.sonarqube.org/latest/analysis/languages/scala/

  3. IDEA安装好SonarQube和SonarLint插件IDEA中使用SonarQube扫描Scala代码_第2张图片

二. SonarQube页面配置

  1. 在SonarQube页面创建项目
    (1). 创建令牌:用于远程连接
    IDEA中使用SonarQube扫描Scala代码_第3张图片
    (2)分析项目
    IDEA中使用SonarQube扫描Scala代码_第4张图片
    (3)复制命令
    IDEA中使用SonarQube扫描Scala代码_第5张图片
    根据实际情况指定编码语言、代码文件路径根据实际情况指定编码语言、代码文件路径、登陆名/密码 稍加修改:
sonar-scanner.bat -D"sonar.projectKey=FPC_Statistics" -D"sonar.sources=src" -D"sonar.language=scala" -D"sonar.host.url=http://192.168.251.131:9000" -D"sonar.login=admin" -D"sonar.password=admin"
  1. 下载并解压SonarScanner压缩包
    下载地址:https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/
    将压缩包解压到指定目录,并将解压目录下的bin目录配置到系统环境变量%PATH%中。
    IDEA中使用SonarQube扫描Scala代码_第6张图片
    1. 进入IDEA需要扫描的项目所在目录下
      IDEA中使用SonarQube扫描Scala代码_第7张图片
      (1)在该目录下创建配置文件:sonar-project.properties,内容如下:
 	sonar.projectKey=song
	sonar.projectName=FPC_Statistics
	sonar.projectVersion=1.0
	sonar.sources=D:/codingsofeware/IdeaProjects2020/platform/fpc-batch/
	#添加下面这行
	sonar.java.binaries=D:/codingsofeware/IdeaProjects2020/platform/fpc-batch/target/classes

说明:
如果没有最后一行,或者配置文件放错位置,会报以下错误:org.sonar.java.AnalysisException: Please provide compiled classes of your project with sonar.java.binaries property
IDEA中使用SonarQube扫描Scala代码_第8张图片
(2)window环境下进入dos黑窗口
进入项目代码所在目录,执行上面2.1.(3)复制的命令:
IDEA中使用SonarQube扫描Scala代码_第9张图片
正常结果如下:
IDEA中使用SonarQube扫描Scala代码_第10张图片
再去SonarQube页面上即可查看代码检查结果:
IDEA中使用SonarQube扫描Scala代码_第11张图片

三. IDEA配置可实时扫描Scala代码

  1. 添加SonarQube配置
    IDEA中使用SonarQube扫描Scala代码_第12张图片
  2. 配置SonarLint
    IDEA中使用SonarQube扫描Scala代码_第13张图片
    进入next,选择用户名密码或Token进行登陆,连接成功即可:
    IDEA中使用SonarQube扫描Scala代码_第14张图片
  3. 最后将sonarlint和sonarqube的项目名称关联即可
    IDEA中使用SonarQube扫描Scala代码_第15张图片
  4. 查看检查结果
    点击IDEA中的Scala Class,可直接看到SonarLint的检查结果。
    IDEA中使用SonarQube扫描Scala代码_第16张图片
    完成!

你可能感兴趣的:(工具类,scala,经验分享,java)