SonarQube社区版-免费

适用语言:Java, C#, JavaScript, TypeScript, CloudFormation, Terraform, Kotlin, Ruby, Go, Scala, Flex, Python, PHP, HTML, CSS, XML and VB.NET

下载安装

        由于实际操作中,JDK版本的限制,8及以下,进入Download | SonarQube,下拉到页面最下方,选择6.7.7版本

提前准备好Java环境

        下载完成后解压,针对所要扫描项目的类型,需提前准备对应的环境配置,如python项目需提前安装python,此处不予细说

解压后进入bin\对应操作系统版本目录,执行StartSonar.bat文件

        出现以下现象,进入任务管理器-详细信息,找到Java,结束所有java.exe

     

Android静态代码扫描 java静态代码扫描工具_代码规范

        出现Log4j相关报错,查看本地安装的Java版本是否为64位,一定要和本机操作系统一致

        出现以下提示,SonarQube服务启动成功

jvm 1    | 2021.12.30 15:02:32 INFO  app[][o.s.a.SchedulerImpl] Process[ce] is up
jvm 1    | 2021.12.30 15:02:32 INFO  app[][o.s.a.SchedulerImpl] SonarQube is up

        打开浏览器,输入http://localhost:9000,进入操作台,初始用户名和密码都为admin

此处需注意本地9000端口,不能被占用

        登录成功后创建项目,创建token,点击继续,到选择语种页

        

Android静态代码扫描 java静态代码扫描工具_python_02

        若不小心退出引导,也不知道何处创建项目,点击右上角搜索栏右侧的问号,再点击第二项,然后新建项目

Android静态代码扫描 java静态代码扫描工具_python_03

Android静态代码扫描 java静态代码扫描工具_c#_04

         根据实际操作,个人虽创建好了sonar数据库,但实际未见使用痕迹,故此处不进行讲解,若大家在使用过程中,出现了文中未见得错误且无法解决,进入Sonarqube根目录\conf\打开sonar.properties,看你个人下载的版本要求的数据库版本是否对应,然后创建一个Sonar数据库

Java项目

        根据项目所用的框架,选定语言和框架后,例如Maven,确保已安装Maven,且已配置好已调通,复制红框内的命令到文本中,将文本中的\删除,两个语句中间仅留两个空格。

Android静态代码扫描 java静态代码扫描工具_python_05

        打开cmd命令窗口,进入java项目的根目录,执行语句,提示BUILD SUCCESS,即为成功,等待sonar操作台返回报告

        注意:由于项目文件过大,可能会导致扫描过程中内存溢出,添加以下内容到sonarqube\conf\sonar.preperites,再次执行。(大于100M的项目建议直接添加

sonar.web.javaOpts =-Xmx8192m -Xms512m -XX:MaxPermSize=8192m

sonar.ce.javaOpts =-Xmx8192m -Xms512m -XX:MaxPermSize=8192m

sonar.search.javaOpts =-Xmx8912m -Xms512m -XX:MaxPermSize=8192m

C#项目

        选定语言,创建号项目名称

       

Android静态代码扫描 java静态代码扫描工具_python_06

        点击Download跳转下载相应的扫描仪,并将解压好的扫描仪的路径添加到环境变量中

注意:由于版本等限制,我们使用的扫描仪与网站提供的命令中的.exe可执行文件名字不同,需将提供的命令中的可执行文件名字改为你下载好的扫描仪中的.exe可执行文件名即可