开源代码审查工具Sonarqube简单使用

2023-11-11

        官网地址:
Code Quality and Code Security | SonarQube

目录

1. 下载&安装

1.1 安装

1.2 启动

 2. 代码审查

  2.1 新建项目

  2.2 关联代码

 3. 其他


1. 下载&安装

        SonarQube提供了多个版本, 其下载页面提供了各个版本的功能对比,最新特性和功能请以官网为准。此处下载社区版进行代码检查和分析 ,更详细的教程请参考官网:SonarQube Documentation | SonarQube Docs

下载页面:Download | SonarQube

         教程所使用版本的下载链接:sonarqube-9.4.0.54424.zip

1.1 安装

        解压zip至指定路径,文件列表如下:

         注意:启动Sonarqube前需要准备Java运行环境,此版本要求的版本是 Java 11,安装Java运行环境不在此处演示

        进入bin\windows-x86-64\,启动cmd,执行 java -version 查看当前版本是否为 Java 11,否则无法启动Sonarqube,如下图

1.2 启动

        在bin\windows-x86-64\目录下,双击StartSonar.bat即可启动,等待片刻后,打开网页:localhost:9000,默认登录账户密码为:admin/admin

        出现登录界面即表示,安装&启动完成

 2. 代码审查

  2.1 新建项目

        登录成功后,会默认跳转到项目创建页面,此处点Manually创建新的项目,也可根据实际需求选择Azure DevOps或Bitbucket、Github、GitLab来关联自己的项目

        输入项目名称,Project Key可以不用修改,点击Set Up完成创建

 

  2.2 关联代码

        项目创建完毕后,根据需要选择关联代码的方式,此处选择Locally

        输入关键词来生成token

 

         点击Continue后如下图,此处演示选择Maven,可根据项目实际需求选择对应的项目构建方式,选择Other则需要下载SonarQube的代码扫描工具:sonar-scanner-cli-4.7.0.2747-windows.zip

         点击Maven后出现提示,如下图,然后我们去项目目录执行此命令即可

         以IDEA为例,可以从Maven工具栏,直接执行Maven命令

注:IDEA可以安装SonarLint来进行关联,已插件的方式来进行分析会更加方便

        若出现提示:org/sonar/batch/bootstrapper/EnvironmentInformation has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0 需要将JDK版本更换至 Java 11

        命令执行完成后,SonarQube页面会自动跳转到分析结果页面

 3. 其他

        SonarQube还有更多高级特性和功能,请参考官方文档:SonarQube Documentation | SonarQube Docshttps://docs.sonarqube.org/latest/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

开源代码审查工具Sonarqube简单使用 的相关文章

  • 如何抑制 Cucumber/Junit 断言堆栈跟踪

    我有一个黄瓜场景 该步骤使用assertEquals 我的结果报告显示了对最终用户不友好的堆栈跟踪 我怎样才能抑制它 Scenario Add two numbers Given I have two inputs 3 and 2 When
  • ListView:防止视图回收

    我有一个使用回收视图的 ListView 我试图阻止视图被回收 所以我使用 setHasTransientState android support v4 view ViewCompatJB setHasTransientState Vie
  • APNS(Apple 推送通知服务器)的反馈服务

    我们正在使用Java作为推送通知提供商APNS I我能够将消息发送到APNS但我不知道如何获得该消息的反馈 请帮忙 反馈服务具有类似于用于发送推送通知的接口的二进制接口 您可以通过以下方式访问生产反馈服务feedback push appl
  • 探索java图像处理的好资源[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我是图像处理领域的新手 请推荐一些好的资源 书籍和网络链接 来学习 Java 中的图像处理 最适合隐写术分析 适合初学者和高级水平 我看过
  • 如何停止使用扫描仪从标准输入读取多行?

    我正在做一个 JAVA 作业 应该处理多行输入 指令显示 输入是从标准输入读取的 给出了示例输入的示例 one 1 two 2 three 3 我不明白上面的示例输入 从标准输入读取 是什么意思 这是我编写的一个测试程序 它可以消除我的困惑
  • Apache Commons VFS - 无法解析文件

    VFS 方法无法处理此 URI jboss server temp dir local outgoing配置在jboss beans xml这是决心 C Download jboss eap 5 1 1 server default tmp
  • 限制 JPQL 中的结果数量

    如何限制从数据库检索结果的数量 select e from Entity e I need only 10 results for instance 您可以尝试像这样给出 10 个要显式获取的结果 entityManager createQ
  • 使用 Hibernate Criteria 过滤 Map 中的键和值

    我有以下持久类 public class Code ElementCollection targetClass CodeValue class MapKeyClass CodeProperty class JoinTable name co
  • 默认情况下,JSF 生成不可用的 ID,这些 ID 与 Web 标准的 CSS 部分不兼容

    活跃的 JSF 或 Primefaces 用户能否解释一下为什么默认情况下会发生这种情况 为什么没有人对此采取任何措施
  • EJB 中 @Stateless 相对于 @Singleton 的真正用例是什么

    如果我正确理解EJB Singleton实际上与普通Java中的Singleton相同 也是spring中的单例 gt 一个实例 每个调用同时通过同一个实例 Stateless 声明一个 bean 它可以 但不得 具有多个实例 但限制是一个
  • 单元测试、集成测试还是设计中的问题?

    我编写了我的第一个单元测试 我认为它过于依赖其他模块 我不确定是否是因为 这是一个复杂的测试 我实际上已经编写了集成测试或 我的设计有问题 我首先要说的是 虽然我有大约 4 年的开发经验 但我从未学过 也没有人教过自动化测试 我刚刚使用 H
  • 如何从 Trie 中检索给定长度的随机单词

    我有一个简单的 Trie 用来存储大约 80k 长度为 2 15 的单词 它非常适合检查字符串是否是单词 但是 现在我需要一种获取给定长度的随机单词的方法 换句话说 我需要 getRandomWord 5 来返回 5 个字母的单词 所有 5
  • 如何加载图像文件到ImageView?

    我试图在从文件选择器中选择图像文件后立即显示该图像文件 文件选择器仅限于 png 和 jpg 文件 所选文件存储在文件类型的变量中 为此 我设置了一个 ImageView 我希望用这个新文件设置图像 唯一的问题是它的类型是文件而不是图像 如
  • 在片段之间切换时底部导航栏会向下推

    在我的活动中 我有一个底部导航栏和框架布局来显示片段 一切正常 但问题是当我开始按顺序从 1 4 移动时 底部导航栏保持在其位置 但当我突然从 4 跳到2 然后底部导航栏就会超出屏幕 当再次单击同一项目时 它就会回到正常位置 该视频将清楚地
  • 如何在启用嵌入时间戳和 LTV 的情况下签署 PDF?

    我正在尝试签署启用了时间戳和 LTV 的 pdf 以便它在 Adob e Reader 中显示如下 在英语中 这意味着 签名包含嵌入的时间戳 和 签名启用了 LTV 这是我正在使用的代码 PrivateKey pk get pk from
  • 如何在 Java 中创建一个带有连字符的值的静态枚举?

    如何创建如下所示的静态枚举 static enum Test employee id employeeCode 截至目前 我遇到了错误 这对于 Java 来说是不可能的 因为每个项目都必须是有效的标识符 并且有效的 Java 标识符可能不包
  • 使用 Commons 或 Guava 将文本文件转换为 Java Set

    我想将文件中的每一行加载到 HashSet 集合中 有没有一种简单的方法可以做到这一点 怎么样 Sets newHashSet Files readLines file charSet 使用番石榴 参考 文件 readLines http
  • 通过向上转换将 Java.sql.date 转换为 Java.util.date 安全吗?

    java sql date 扩展了 java util date 那么通过将 java sql date 转换为 java util date 是否可以在两者之间进行转换 或者有其他方法可以转换它们吗 您不一定需要强制转换 您可以将 SQL
  • 膨胀类 android.support.design.widget.CoordinatorLayoute 时出错

    我正在尝试运行我的应用程序 但不断收到标题中列出的错误 我读过周围的内容 人们说尝试将主题更改为 AppCombat 主题 但这似乎不起作用 以下是我遇到的错误 Process com example jmeyer27 crazytiles
  • 在 for 循环比较中使用集合大小

    Java 中 Collections 的 size 方法是否有编译器优化 考虑以下代码 for int i 0 i

随机推荐

  • token的生成与验证

    写在前面 最近在写自己毕业的东西 由于采用的是前后端分离的写法 为了方便写使用的是跨域的模式 所以cookie session就不好用了 所以记录一下token吧 夜太深了 就简单写一下用法吧 官方文档写的很全了 使用场景 用户成功登陆之后
  • 互联网业务全球化互通组网

    随着互联网业务的快速发展 越来越多的企业开始全球化扩张业务 并需要在全球范围内建立互联网组网以实现业务数据的高效传输 在这个过程中 如何建立高效 稳定的全球互联网组网方案 是每个企业都需要考虑的问题 一种可行的方案是使用云网络加速服务 例如
  • shell中打印带有时间的日志的命令(转)

    echo date Y m d H M S logadm on date Y m d H M S 2013 09 30 11 42 48 logadm on 20130930114248 转载于 https www cnblogs com
  • mobile.php discuz,电脑访问discuz手机版【触屏版跳转标准版的修改方法】

    推荐方法 以前我们介绍过如何通过修改Chrome浏览器运行参数的方法来模拟手机访问网站 但是在Chrome 32和33版本以后增加了更加便捷的方法 在开发者工具中只需要设置一下就能方便的模拟各种手机型号的访问效果了 方法如下 1 打开Chr
  • 作用域【python-4】

    file author jUicE g2R qq 3406291309 彬 bin 必应 一个某双流一大学通信与信息专业大一在读的技术彩笔 brief python小白入门笔记 copyright 2022 8 COPYRIGHT 原创技术
  • windows脚本 批量删除指定文件夹、指定文件

    前言 用于批量删除项目中的测试数据 提供用户纯净的软件 使用说明 修改file list和folder list对应的数据 来自定义删除的内容 效果图 源码 echo off chcp 65001 gt nul 2 gt 1 REM 设置文
  • Errors accessing files.There may be spaces in your image‘s filename (已解决)

    一 问题 最近要做一个识别身份证的 然后就拷贝改代码 用到了Tesseract OCR 没想到出了这问题 说我文件名有空格 但是我这边确实没有啊 二 解决 上面框起来的地方是语言包 我想了想一般下载的时候好像没有相关的连带下载 然后去文件夹
  • Python3,爬虫的HTTP Error、URL Error及混合使用

    爬虫常出现的两种error URL Error HTTP Error HTTP Error 和URL Error 混合使用 URL Error url error 很常见的 就是url地址不正确 或者失效 我们来看看 代码是怎么实现的 co
  • 服务器被攻击了怎么处理?

    服务器若是被黑客或是攻击小组攻击 不同的机房会做出不同的策略调整 封机处理 一般2小时解封 最迟24小时 若是解封后仍然有攻击 则封机时间会增加24 48 72H 再安全的服务器也避免不了网络的攻击 作为一个网络安全运维人员需要做到维护好系
  • SD卡寄存器及对应的CMD命令描述

    目录 1 SD卡寄存器 1 1操作条件寄存器 OCR 1 2卡识别寄存器 CID 1 3特定数据寄存器 CSD 1 4相对地址寄存器 RCA 1 5驱动阶段寄存器 DSR 1 6SD配置寄存器 SCR 1 7SD状态寄存器 SSR 1 8卡
  • signature=5e1766d4239e5ac6aef18e8849a2555c,checksum.xml

    4FD71D2654435626B5FC1D5FB47809D322D9AC3AEDE1A45D1A45070B1820C922522C7D1586CD1C074F3F27D9E73C8F51F554AEE0F07A08ECB6593CAF
  • One-Way Conveyors 【Tarjan缩点+树链剖分】

    One Way Conveyors Aizu 1408 这道题上面推荐大家把maxN开的大一点 不然会RE 我倒是被这个坑了一下 还有一些细节 我将在后面徐徐道来 目前最快还是比较的开心 先讲一下题意 有N个点 M条无向边 然后输入这M条无
  • 回顾与展望

    原文链接 点击打开链接 摘要 8月14日启动 历时130天 全球AI届最大盛事之一 来自65个国家上万名选手参与的首届 AI Challenger全球AI挑战赛 在12月21日落下帷幕 AI Challenger视觉和翻译两大类共五个赛道
  • java快速开发框架---JavaBoot

    基于SpringBoot2倾情打造 面向所有层次的Java开发者 零门槛开箱即用的后台快速开发解决方案 1 系统环境 我们采取了Java EE 8 Servlet 3 0 Apache Maven 3作为环境开发的一套后台的系统 入门快 2
  • 【SSA-LSTM】基于麻雀算法优化LSTM 模型预测研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 1 1 麻雀搜索算法 1 2 长短期记忆神经网络 2 运行结果 3 参考文献 4 Matlab代码实现 1
  • x86架构芯片启动过程分析

    1 上电启动顺序 上电自检 读取ROM里的bios程序 bios程序会进行硬件检测 比如 内存 硬盘 显卡等 bios完成自检后 需要选择引导设备 比如设备上有U盘 SSD eMMC 机械硬盘 bios需要知道从哪个启动介质去启动计算机 b
  • (android地图开发) 高德地图自定义对话框

    截图效果 布局文件
  • 【Python】不用numpy用纯python求极差、平均数、中位数、众数与方差,python的打印到控制台

    python作为数据分析的利器 求极差 平均数 中位数 众数与方差是很常用的 然而 在python进行统计往往要使用外部的python库numpy 这个库不难装 然而 如果单纯只是求极差 平均数 中位数 众数与方差 还是自己写比较好 因为
  • Android输入系统(一)——初始化阶段(基于Android 13)

    1 输入事件的处理流程 输入系统大致可分为三部分 输入系统部分 WMS部分和View处理部分 用户输入需要通过输入子系统将原始信息转化为事件交由InputManagerService进行处理加工并找到合适的Window 将事件分发到对应的W
  • 开源代码审查工具Sonarqube简单使用

    官网地址 Code Quality and Code Security SonarQube 目录 1 下载 安装 1 1 安装 1 2 启动 2 代码审查 2 1 新建项目 2 2 关联代码 3 其他 1 下载 安装 SonarQube提供