SonarQube 插件之 Issues Report & SonarLint 的配置及使用
转载自:https://cloud.tencent.com/developer/article/1010599
1、Issues Report Plugins 介绍
使用 Issues Report Plugins 插件可以为我们生成一份 HTML 格式的问题报告,对于开发人员来说是很有好处的,我们可以在改动代码后 Push 代码到仓库前,检测一下代码质量,生成问题报告,提醒自己避免提交有明显问题的代码到仓库中,当然也可以去 SonarQube Web 上查看详细情况。
2、Issues Report Plugins 使用
Issues Report Plugins 插件的使用很简单,只需要 Maven 命令行指定参数执行即可。注意:SonarQube > 5.1 版本,该插件已经过时了,不过我们还是直接可以使用,免安装。5.1 版本以后由 SonarLint 替代该插件。
mvn sonar:sonar
-Dsonar.analysis.mode=preview # 设置 mode,默认为preview
-Dsonar.issuesReport.lightModeOnly=true # 设置是否只生成新增问题的报告
-Dsonar.issuesReport.html.enable=true # 设置生成 HTML 格式的报告
-Dsonar.issuesReport.html.name=xxxx # 设置生成 HTML 报告的文件名字
-Dsonar.issuesReport.html.location=/xx/xx # 设置生成 HTML 报告的文件存储路径
-Dsonar.issuesReport.console.enable=true # 设置报告输出到控制台
当设置-Dsonar.issuesReport.html.enable=true
时,该插件默认会生成两份 HTML 报告,一份是包含所有问题的报告 ,一份为只包含新增问题的报告 ,除非设置了-Dsonar.issuesReport.lightModeOnly=true
,则只生成包含新问题的报告。默认生成报告的路径为<maven_project>/target/sonar/issues-report/
,使用-Dsonar.issuesReport.html.location
可修改生成路径。报告默认文件名为 issues-report.html (全部问题报告),issues-report-light.html(新增问题报告),使用-Dsonar.issuesReport.html.name=xxxx
可修改生成的文件名称。当设置-Dsonar.issuesReport.console.enable=true
时,则不会生成HTML文件报告,会将检测结果打印到控制台输出。
示例:
$ mvn sonar:sonar -Dsonar.analysis.mode=preview -Dsonar.issuesReport.html.enable=true
...
[INFO] HTML Issues Report generated: /Users/wanyang3/Documents/hwy/IdeaProjects/mavenDemo/target/sonar/issues-report/issues-report.html
[INFO] Light HTML Issues Report generated: /Users/wanyang3/Documents/hwy/IdeaProjects/mavenDemo/target/sonar/issues-report/issues-report-light.html
...
$ mvn sonar:sonar -Dsonar.analysis.mode=preview -Dsonar.issuesReport.console.enable=true
...
[INFO]
------------- Issues Report -------------
+2 issues
+1 critical
+1 major
-------------------------------------------
...
3、SonarLint For IntelliJ IDEA 安装及配置
SonarLint 是为了替代上边 Issues Report Plugins 插件,并且更方便的集成到我们日常的开发工具里面去。SonarLint For IntelliJ IDEA 就是专门为 IDEA 工具提供的插件,它可以为开发人员时刻返回新的 Bug 以及其他质量问题,并且很直观显示在工具上边。现在支持的语言有 Java、 JavaScript 、PHP。
SonarLint 插件安装也很简单,点击 IntelliJ -> Plugins -> Browse Repositories -> 输入 SonarLint search -> install 等待下载安装完毕,点击 restart 重启 IDEA即可。
设置 SonarLint 全局配置。点击 IntelliJ -> Other Settings -> SonarLint General Settings -> Add 弹出框添加一个 New SonarQube Server,这里我们添加之前本地搭建的 SonarQube 服务 URL:http://127.0.0.1:9000,服务别名为:my_sonarqube,下一步配置认证,可以设置 Token 或者 Login / Password,配置完成后点击 Update Binding,更新绑定信息,最后点击 Apply 即可。注意:认证 Token 可以去 SonarQube Web 上生成一个认证 Token 或者用用户名密码登录均可。
设置 SonarLint 项目配置,点击 IntelliJ -> Other Settings -> SonarLint Project Settings -> Bind to Server,选择刚我们配置的全局配置 my_sonarqube,在 SonarQube project 项目列表里面选择对应的项目,最后点击 Apply 即可。注意:这里的项目列表是从配置的 SonarQube 服务上拉取下来的项目,如果没有加载,可以点击 Update project list 重新加载。
以上配置完成后,就可以愉快的使用 SonarLint 插件了,这里我们以 mavenDemo 项目为例,故意写一些垃圾代码,看下检测结果吧。
参考资料
SonarQube 插件之 Issues Report & SonarLint 的配置及使用的更多相关文章
- vim插件管理器的安装和配置-windows
# vim插件管理器的安装和配置-windows ### 前言------------------------------ vim做一框功能强大的编辑器,扩展功能令人称奇,插件机制非常灵活- 本篇推荐 ...
- jenkins展示report测试报告的配置
HTML报告展示 1. 需要HTML Publisher plugin插件 2. 在workspace下的工程(构建)中的目录中存储测试报告 在Jenkins中新建一个job,进入配置项. 首先通过p ...
- SonarQube代码质量管理平台 的安装、配置与使用
SonarQube是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误,下面将会介绍一下这个工具的安装.配置以及使用. 准备工作: 1.jdk(不再介绍) 2.sonarqube:ht ...
- SonarQube(5.0.1) 环境的安装配置
SonarQube 安装步骤 确定 JDK 和 MySQL 已经成功安装. 下载 SonarQube 及工具 SonarQube Runner,下载地址:http://www.sonarqube.or ...
- Myeclipse插件快速生成ssh项目并配置注解 在action层注入service的超详细过程
最近发现,我对于ssh的 自动注入配置 还是不熟悉,于是整理了一下 终于做了一个 简单的 注入配置出来. 以前都是在applicationContext.xml 里面这样配 <bean id=& ...
- Bootstrap Multiselect插件使用步骤以及常见参数配置介绍
Multiselect是基于jQuery插件的,它可以以下拉列表的形式为用户提供选择内容,能进行单选或者多选.它应用的主要步骤如下: 一,引入需要的相关js和css文件 既然是Bootstrap插件, ...
- datetimepicker bootstrap的时间插件显示位置问题及其他配置
位置问题: 在bootstrap中用 datetimepicker 时默认是在输入框下面弹出的, 但是遇到输入框在屏幕最下面时,日期选择框会有一部分在屏幕下面,显示不了,因此需要能够从上面弹出. 可以 ...
- SublimeText3 插件的使用和本身的配置
--------------------20180109----------------------- Part1:如何设置代码字体变大变小 1.点击菜单栏 Sublime Text 中prefere ...
- TinyMCE插件:FileManager [4.x-6.x] 配置及BUG处理
FileManager最新版已升级到9.x,9.x新增了对文件的批量处理,但仍然有部分同学在继续使用6.x,这里大叔整理了一份自己在配置6.x时,遇到的问题和解决方案. 安装 下载安装包解压后,在根目 ...
随机推荐
- MySQL-过滤数据(WHERE语句)
1.使用WHERE子句 在SELECT语句中,数据根据WHERE子句中指定的搜索条件进行过滤.WHERE子句在表名( FROM子句)之后给出,如下所示: SELECT prod_name,prod_p ...
- 如何用车辆历史违章查询API接口进行快速开发
最近公司项目有一个车辆的历史违章查询显示的小功能,想着如果用现成的API就可以大大提高开发效率,所以在网上的API商店搜索了一番,发现了 APISpace,它里面的车辆历史违章查询API非常符合我的开 ...
- javaweb 02: servlet
Servlet对象的生命周期 什么是Servlet对象生命周期? Servlet对象什么时候被创建. Servlet对象什么时候被销毁. Servlet对象创建了几个? Servlet对象的生命周期表 ...
- win10搜索功能用不了
这玩意搞了我今天,直接裂开!系统更新根本解决不了 好在查了相关资料才知道,原来微软在 Win10 的更新中,将搜索功能和语音助手 Cortana 进行了拆分,搜索成了一个独立的功能,还好有外媒发现问题 ...
- Cow Picnic S
题目描述: K(1≤K≤100)只奶牛分散在N(1≤N≤1000)个牧场.现在她们要集中起来进餐.牧场之间有M(1≤M≤10000)条有向路连接,而且不存在起点和终点相同的有向路.她们进餐的地点必须是 ...
- 模板库 ~ Template library
TOC 建议使用 Ctrl+F 搜索 . 目录 小工具 / C++ Tricks NOI Linux 1.0 快速读入 / 快速输出 简易小工具 无序映射器 简易调试器 文件 IO 位运算 Smart ...
- 从零开始Blazor Server(6)--基于策略的权限验证
写这个的原因 现在BootstrapBlazor处于大更新时期,Menu组件要改为泛型模式. 本来我们的这一篇应该是把Layout改了,但是改Layout肯定要涉及到菜单,如果现在写了呢,就进入一个发 ...
- .NET CORE 读书笔记之与.NET Framework对比
.NET Framework存在的问题 它是属于系统级别安装的程序 操作系统内的所有程序共享一个.NET Framework实例,如果其中某一个应用程序需要升级Framework,其他程序也会收到影响 ...
- 红黑树以及JAVA实现(一)
目录 前言 一. B树 1.1 概念 1.2 2-3-4树 1.3 2-3-4树的插入 节点分类 1.4 2-3-4树的删除 1.4.1 当删除节点是叶子节点 1.4.1.1 当删除节点为非2节点 1 ...
- centos 安装ftp服务BUG
安装完成之后匿名可登录,但是先创建的用户名和密码无法登录,最后排查原因是/etc/pam.d/vsftpd 文件注释掉第四行 auth required pam_shells.so