maven工程使用sonar扫描代码

2024-03-19 00:50

本文主要是介绍maven工程使用sonar扫描代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 基础环境
  • 配置项目
  • 配置setting.xml(与配置项目pom.xml二选一)
  • 配置pom.xml(与配置setting.xml二选一)
  • 执行扫描任务
  • 查看结果

基础环境

SonarQube 8.2
maven3.3.6
jdk:1.8

配置项目

创建项目
登录后右上角+号创建新项目
在这里插入图片描述填写项目名称及标识

在这里插入图片描述创建token
在这里插入图片描述下一步

在这里插入图片描述选择项目类型
在这里插入图片描述以上就已提供maven插件执行命令(注意’\'是换行的意思,部分shell执行前需要删掉并去掉换行)

配置setting.xml(与配置项目pom.xml二选一)

注意:此项非必须
sonar插件在不配置的情况也是可以用的,如果每次不想带url、token等参数,而想简单的执行[mvn sonar:sonar]则需要在setting.xml将sonar信息配置进去

<settings><!-- pluginGroups也可以不配置 --><pluginGroups><pluginGroup>org.sonarsource.scanner.maven</pluginGroup></pluginGroups><profiles><profile><id>sonar</id><activation><activeByDefault>true</activeByDefault></activation><properties><!-- 平台登录的账号的用户名<sonar.login>admin</sonar.login> --><!-- SonarQube平台登录的账号的密码<sonar.password>admin</sonar.password>--><!-- 全局配置的情况建议使用用户名密码的形式 --><sonar.projectKey>e71f9c0248f4e299abea623f1fa81ff99eb62477</sonar.projectKey><!-- Optional URL to server. Default value is http://localhost:9000 --><sonar.host.url>http://myserver:9000</sonar.host.url></properties></profile></profiles><!-- 官方未配置activeProfiles 但是个人建议配置上 --><activeProfiles><!-- 这步配置,sonar的profile配置才能生效 --><activeProfile>sonar</activeProfile></activeProfiles>
</settings>

配置完成后执行如下命令即可扫描

mvn sonar:sonar

配置pom.xml(与配置setting.xml二选一)

如果不想修改setting.xml,可考虑在pom文件里直接引入sonar插件即可
在project->build->plugins 下增加如下插件

	<!-- sonar插件 --><plugin><groupId>org.sonarsource.scanner.maven</groupId><artifactId>sonar-maven-plugin</artifactId><version>3.7.0.1746</version></plugin>

重新编译即可使用sonar,需要注意的是sonar插件未传递token(或者username/password)、host、prokectKey时,需要在执行mvn sonar:sonar时带上(参考:执行扫描任务)

执行扫描任务

最新的maven执行以下命令无需配置setting.xml

mvn sonar:sonar -Dsonar.projectKey=n-demo -Dsonar.host.url=http://192.168.1.17:9000 -Dsonar.login=e71f9c0248f4e299abea623f1fa81ff99eb62477

查看结果

登录sonar服务,即可看到项目分析结果
在这里插入图片描述

这篇关于maven工程使用sonar扫描代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/master336/article/details/105942307
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/824262

相关文章

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,

SpringBoot中使用Flux实现流式返回的方法小结

《SpringBoot中使用Flux实现流式返回的方法小结》文章介绍流式返回(StreamingResponse)在SpringBoot中通过Flux实现,优势包括提升用户体验、降低内存消耗、支持长连... 目录背景流式返回的核心概念与优势1. 提升用户体验2. 降低内存消耗3. 支持长连接与实时通信在Sp

Python如何去除图片干扰代码示例

《Python如何去除图片干扰代码示例》图片降噪是一个广泛应用于图像处理的技术,可以提高图像质量和相关应用的效果,:本文主要介绍Python如何去除图片干扰的相关资料,文中通过代码介绍的非常详细,... 目录一、噪声去除1. 高斯噪声(像素值正态分布扰动)2. 椒盐噪声(随机黑白像素点)3. 复杂噪声(如伪

Java Spring ApplicationEvent 代码示例解析

《JavaSpringApplicationEvent代码示例解析》本文解析了Spring事件机制,涵盖核心概念(发布-订阅/观察者模式)、代码实现(事件定义、发布、监听)及高级应用(异步处理、... 目录一、Spring 事件机制核心概念1. 事件驱动架构模型2. 核心组件二、代码示例解析1. 事件定义

python使用库爬取m3u8文件的示例

《python使用库爬取m3u8文件的示例》本文主要介绍了python使用库爬取m3u8文件的示例,可以使用requests、m3u8、ffmpeg等库,实现获取、解析、下载视频片段并合并等步骤,具有... 目录一、准备工作二、获取m3u8文件内容三、解析m3u8文件四、下载视频片段五、合并视频片段六、错误

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

nginx启动命令和默认配置文件的使用

《nginx启动命令和默认配置文件的使用》:本文主要介绍nginx启动命令和默认配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录常见命令nginx.conf配置文件location匹配规则图片服务器总结常见命令# 默认配置文件启动./nginx

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解