• 工具箱之 代码分析利器SonarQube


    本文编写时SonarQubeCommunity Edition版本是8.3.1

    简介

    SonarQube是一个静态分析项目的工具,并且是开源产品(sonarqube github address)。使用SonarQube静态分析,可以分析项目的可靠性,安全性和可维护性。目前SonarQube已支持20多种语言

    此处输入图片的描述

    使用SonarQube可以帮助我们构建更优秀的项目。

    安装使用SonarQube

    SonarQube是B/S架构类型的产品,首先我们需要安装SonarQube

    1. 下载安装
      进入SonarQube下载网页,选择Community Edition版本下载,解压,然后进入${SonarQube}/bin/${os-type}/路径下,我是在Windows下安装,启动sonarqube-8.3.1.34397inwindows-x86-64StartSonar.bat文件,然后在浏览器访问http://localhost:9000/,默认用户名密码为admin/admin

      注1:SonarQube默认是H2的嵌入式数据库,仅仅用于试用,如果想让数据存储更通用且具有扩展,可以自己配置Oracle/PostgreSQL/Microsoft SQLServer/SQL Azure(不幸的是SonarQube7.9版本后不再支持MySQL作为数据存储了)。

      注2:启动SonarQube时要以非root账户启动,因为SonarQube使用了elasticsearch,而elasticsearch不可以root启动,所以需要新建新的账户用来运行SonarQube。

    2. IDEA插件使用

      Intellij IDEA中可以采用插件的方式使用Sonar,在IDEA中搜索插件SonarLint,安装重启IDEA,鼠标右键点击既有Analyze with SonarLint选项

      此处输入图片的描述

      选中后就会在IDEA中显示出分析结果

      此处输入图片的描述

      SonarLint虽然可以直接配置SonarQube地址,但是仅仅只能拉取SonarQube的规则分析本地代码,并不能把本地分析结果上传至SonarQube

      此处输入图片的描述

      如果想要在Web端查看代码分析结果,最好是使用下面介绍的Maven方式

    3. Maven使用

      首先在Maven的配置文件(${maven_home}/conf/settings.xml)中pluginGroups标签下添加

      <pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
      

      然后在profiles标签下添加

      <profile>
      	<id>sonar</id>
      	<activation>
      		<activeByDefault>true</activeByDefault>
      	</activation>
      	<properties>
      		<sonar.host.url>http://localhost:9000</sonar.host.url>
      	</properties>
      </profile>
      

      然后使用maven命令执行分析

      mvn clean verify sonar:sonar
      或
      mvn clean install
      mvn sonar:sonar
      

      然后登陆SonarQube即可查看分析结果

      此处输入图片的描述

      SonarQube搭配Maven使用官方教程

      :Maven需要3.x版本。

  • 相关阅读:
    Java进程线程理解
    Java String练习题及答案
    代理服务器原理(转)
    FTP服务器原理(转)
    SMTP协议及POP3协议-邮件发送和接收原理(转)
    集合框架的类和接口均在java.util包中。 任何对象加入集合类后,自动转变为Object类型,所以在取出的时候,需要进行强制类型转换。
    Java集合框架顶层接口collectiion接口
    java多态--算法实现就是多态
    项目安排
    Scala从零開始:使用Intellij IDEA写hello world
  • 原文地址:https://www.cnblogs.com/weegee/p/12955157.html
Copyright © 2020-2023  润新知