zoukankan      html  css  js  c++  java
  • 代码管理工具SonarQube的搭建和使用

    Sonar主要作用

    检查代码是否遵循编程标准:如命名规范,编写的规范等
    检查设计存在的潜在缺陷:SonarQube通过插件Findbugs、Checkstyle等工具检测代码存在的缺陷
    检测代码的重复代码量:SonarQube可以展示项目中存在大量复制粘贴的代码
    检测代码中注释的程度:源码注释过多或者太少都不好,影响程序的可读可理解性
    检测代码中包、类之间的关系:分析类之间的关系是否合理,复杂度情况

    一、Sonar配置

    1、Window下搭建SonarQube环境

    下载SonarQube 这里版本为sonarqube-6.7.6

    下载SonarQube 版本和汉化包地址

    https://pan.baidu.com/s/1817FN_8kYfrQsg5GNMImVQ

    提取码:39ft

    下载 sonar-scanner-cli 这里的版本为3.0.0.702-windows.zip

    https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/

    2、配置数据库

     mysql>CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
    mysql>CREATE USER ‘sonar’ IDENTIFIED BY ‘sonar’;
    mysql>GRANT ALL ON sonar.* TO ‘sonar’@’%’ IDENTIFIED BY ‘sonar’;
    mysql>FLUSH PRIVILEGES;

    3、配置Sonar

    D:Toolssonarqube-6.7.6conf 的sonar.properties文件

    sonar.jdbc.username=sonar
    sonar.jdbc.password=sonar
    sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatch edStatements=true&useConfigs=maxPerformance&useSSL=false

    4、启动

    D:Toolssonarqube-6.7.6inwindows-x86-64

    StartSonar.bat

    打开界面: http://localhost:9000/

    5、Sonar汉化

     下载完成将插件放到D:Toolssonarqube-6.7.6extensionsplugins ,重启sonar即可。

    二、Sonar-Scanner

    1、Sonar-Scanner

    版本为sonar-scanner-3.0.0.702-windows

    D:Toolssonar-scanner-3.0.0.702-windows

    2、配置环境变量

    1):新建变量,name=SONAR_RUNNER_HOME。value=D:Toolssonar-scanner-3.0.0.702-windows

    2):打开path,输入%SONAR_RUNNER_HOME%in

    3):打开CMD窗口,输入 sonar-scanner  -v

    3、找到需要扫描的项目,在项目的根目录下新建 sonar-project.properties文件

    sonar.projectKey=xxx
    sonar.projectName=xxx
    sonar.version=0.0.1-SNAPSHOT
    sonar.sources=C:/xxx/src/main/java
    sonar.java.binaries=C:/xxx/target/classes

    projectName为项目名称

    sonar.version 项目版本

    sonar.sources 扫描的源码路径

    sonar.java.binaries 项目生成的class文件路径

    4、启动sonar-scanner

    cd C:/xxx/

    sonar-scanner

    再次打开localhost:9000 查看分析结果

    参考:

    1、https://blog.csdn.net/qq_41631176/article/details/84952820

  • 相关阅读:
    Spring@Profile注解
    day 32 子进程的开启 及其用法
    day 31 udp 协议SOCK_DGRAM
    day 30 客户端获取cmd 命令的步骤
    day 29 socket 理论
    day 29 socket 初级版
    有关 组合 继承
    day 27 多态 接口 类方法 静态方法 hashlib 摘要算法模块
    新式类和经典类的区别
    day 28 hasattr getattr serattr delattr 和带__内置__ 类的内置方法
  • 原文地址:https://www.cnblogs.com/linlf03/p/13738082.html
Copyright © 2011-2022 走看看