一、前言
最近在研究sonar扫面java项目,实在是花费了不少时间,估计有50个小时吧。
从零开始接触sonar,在网上找教程看,按照教程的指引,自己搭建环境,很快成功扫描python项目。
但是,在扫描java项目时,遇到了各种问题,一直扫描不成功。
解决这个问题的过程着实是相当痛苦。
首先是运行命令扫描代码,发现出错,复制出错提示信息百度找答案,就进行尝试,这个过程相当低效,一直没有进展。
然后,我想到直接搜索关键字“sonar扫描Java项目”,发现找到的文章很少,而且内容比较混乱。
接着,我决定自己研究sonar的官方文档,于是花了一个上午把官网的文章看了,翻译成了中文。
文章如下:SonarScanner扫描Maven项目使用说明
在这个过程当中,了解到扫描Java项目,需要先编译后扫描,需要使用maven。
于是去看了maven入门课程,了解maven基础知识。
我看的文章是:https://blog.csdn.net/weixin_39032063/article/details/116175846
在这些基础之上,自己从头开始搭建环境,扫描java项目(本来还想使用公司已经搭建的sonar,但是这几天间歇断电,公司服务器有问题)
今天终于成功扫描Java项目,这里总结整个过程。
二、说明
1.本人是在本地电脑win10环境,自己搭建sonar,使用内置数据库,没有搭建数据库。
2.本人是使用sonar官方实例的项目,可在下面地址直接下载压缩包:https://github.com/SonarSource/sonar-scanning-examples
3.使用maven3.8.1版本,maven安装教程如下:
Maven的安装
4.使用的sonar-scanner是sonar-scanner-cli-4.6.2.2472-windows
5.使用的sonarqube是sonarqube-8.9.2.46101
三、扫描过程
1、启动sonar
2、sonar-scanner配置
2、修改maven bin-conf目录的settings配置
如下:
<settings>
<pluginGroups>
<pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
</pluginGroups>
<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://10.168.19.237:9000
</sonar.host.url>
</properties>
</profile>
</profiles>
</settings>