zoukankan      html  css  js  c++  java
  • SonarQube安装

    本文写于2018年2月3号是从我的其他博客搬运过来的,与现在的版本有出入, 以下为原文。 另外还有idea的插件sonarLint


    写了一份word文档。 现在看看,觉得还是不够详细也很乱, 不过也懒得去大肆整理了,当时写这个文档的时候, 我实验了无数遍, 边实验边截图写文档, 所以截图中的一些图片会不一致。

     比如有的启动页是英文有的是中文等等等等,

    关于汉化SonarQube的那一段我是没有写进文档, 但是特别简单, 官方, 有语言包, 下载下来, 存到SonarQube的一个特定的文件夹中,然后重启SonarQube就行了, 嗯, 我记得是这样。。

    还有关于自定义规则的那一段我也没有写出来, 可能是当时写完这些感觉累了, 就没在想写进文档中。 我依稀记得, SonarQube有两种方式自定义规则, 可以根据自己写的规则去分析自己的代码。

    第一种是通过xpath的方式

    第二种是自己写一个分析插件,当然了官方网站有各种语言的规则jar包供大家下载, 每一个自定义的规则插件都是一个maven项目,写完打包放在SonarQube指定目录,重启。SonarQube官方有写插件的API, 官方网站也有简单的例子教程也放上了gitHub的链接可以去下一个来看看。

    首先

    下载SonarQube.zip把他解压到任意位置.

    SonarQube包名(包含版本信息.这里是最新版): 

    运行完第[1]个步骤之后是这样的:(浏览器可放大查看图中详细信息)

    接着我们就开始访问: http://localhost:9000。 界面是这样的

    Ø  第二个步骤

    在项目的根目录新建一个 

    配置如下:

    配置信息中, 如果要配置多个, value值用逗号隔开: 例如 sonar. Sources=src , webroot

    下载SonarQube的扫描器, 用于扫描代码然后分析

    包名:

    解压放置在任意目录然后去配置系统的环境变量:

    1.     新建一个变量 (变量值(V) 为解压后的文件夹)

    2.     在path中添加一个变量(如图所示)

    进入你的项目工程路径。我的是在D:jxlWorkspaces est

    执行两条命令:

    1.     cd D:jxlWorkspaces est  回车(进入这个文件夹)

    2.     sonar-scanner  回车

    执行完之后, 会自动扫描

    然后开始访问那个地址:

    点击项目名称后是这个界面

    点击代码可以清楚到每一个不规范的代码

    重启sonarQube:

    SonarQube打开之后, 如果需要重启, 可以在任务管理器里面搜索java开头的进程结束掉,然后重新去bin目录先执行脚本打开。

    如果由于某种未知原因启动失败的情况下, 你可以尝试着把\sonarqube-6.3.1sonarqube-6.3.1 emp 目录下所有文件删除掉(clean)然后重启一遍sonarQube,

    如果要扫描JavaScript, sonar-project.properties中所配置的并不是“sonar.language=JavaScript” 而是直接写js或者不区分大小写。我就是有一次直接写的js和有一次不区分大小写, 所以报了如下错误

    你必须安装一个支持JavaScript语言的插件,官方有提供各种语言规则的包下载,其实如果你想用自己自定义的规则来分析自己的代码, 也可以自己写一个插件然后打成jar包。

    说道插件啊, 这里的一些插件可以从官网下载jar包, 放在\sonarqube-6.3.1sonarqube-6.3.1extensionsplugins 目录下, 登录以管理员身份sonarQube在这里可以显示已经安装过的插件:

    sonarQube使用故障: 

           如果在启动sonar-scanner的时候报如下异常:

    Unable to load component  class org.sonar.scanner.report.activeRulesPublisher…

           或者:

    Unable to load component interface org.sonar.api.batch.rule. activeRules:NullPointer…

    解决方案: 删除sonarQube/data/es/目录下的所有文件, 然后重启sonarqube.

    the end

  • 相关阅读:
    header头参数 确定该文件类型
    phpexcel 使用说明
    杂七杂八 各种小知识
    php 后知后觉
    限制SSH登录失败次数
    DES和AES密码之间的区别 & 对称加密算法DES、3DES和AES 原理总结
    加密算法(DES,AES,RSA,MD5,SHA1,Base64)比较和项目应用
    加密算法学习总结---DES-CBC加密算法 & 分组加密的四种模式
    Linux下进程间通信方式——共享内存
    fork()+pipe() --> 父子进程间通过管道通信 Linux系统编程pipe()
  • 原文地址:https://www.cnblogs.com/jxlsblog/p/10395589.html
Copyright © 2011-2022 走看看