Sonarqube安装
之前安装过Sonarqube8.0版本。当时装的时候挺难受的。JDK需要11;连接Mysql数据库报错一直没处理好,最后换成postgresql数据库才换成功。
现在我这里有安装好的sonar服务,不说怎么安装了。如果要装Sonar服务可以试试docker安装,应该会比下载安装便捷很多。
进行Java代码分析
有了Sonar服务之后,我们需要对代码进行执行分析。
目前我知道两种方法进行Sonar代码分析的方法。
1、第一种 通过sonar分析工具分析。
- 下载sonar-scanner
https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/
https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/ - 解压
- 环境变量中,Path 添加 C:\tools\sonar-scanner-cli-3.2.0.1227\sonar-scanner-3.2.0.1227-windows\bin; 这个路径是sonar-scanner的bin路径。自己注意改
- 来到安装目录的conf目录,编辑sonar-scanner.properties
添加sonar服务器的地址, sonar.host.url=http://qg-server:9000
sonar的地址 - 以java项目为例,来到你想要进行分析的项目的目录,并创建sonar-project.properties
内容为:
sonar.projectKey=Yypt-Web (实际的key,name,version等自己定)
sonar.projectName=Yypt-Web
sonar.version=0.0.1-SNAPSHOT
sonar.sources=src/main/java (源码路径,是个相对路径)
sonar.java.binaries=target/classes (这个是项目编译后的class所在目录相对当前文件的目录)
执行 mvn clean package生成class
最后 sonar-project.properties 所在目录执行sonar-scanner
执行成功就能够在sonar服务上看到,代码分析的结果。
2、第二种方式 通过Maven插件完成分析。
相比于第一种方式,这种方式其实更简单。
- 编辑maven的settings.xml文件
profiles中添加
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- Optional URL to server. Default value is http://localhost:9000 -->
<sonar.host.url>
http://myserver:9000
</sonar.host.url>
</properties>
</profile>
pluginGroups中添加
<pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
- 上sonar服务器创建一个新的项目
进入项目,添加令牌 ,如果没有令牌可以用就创建令牌
创建好了之后会得到一个token
注意下面的 \ 在执行命令中是不要的。
之后执行mvn install 或者 mvn package,一定要先安装再分析!!!
最后在项目中执行这个maven命令
mvn sonar:sonar
-Dsonar.projectKey=yypt-web
-Dsonar.host.url=http://qg-server:9000
-Dsonar.login=e4143859de662f75f4469a15f086714bbb116bf4
完成后能够再sonar服务中看到分析结果。