使用SonarQube Scanner for Maven 分析
2019独角兽企业重金招聘Python工程师标准>>>
特征
建议使用此分析器启动Java Maven项目的分析。
兼容性
Maven版本 |
2.X |
3.X |
---|---|---|
兼容性 |
从maven-sonar-plugin 3.4.0.905开始,不再支持SonarQube <5.6。
如果使用5.6之前的SonarQube实例,则应该使用maven-sonar-plugin 3.3.0.603。
从maven-sonar-plugin 3.1开始,不再支持Maven <3.0。
如果在3.0之前使用Maven,你应该使用maven-sonar-plugin 3.0.2。
先决条件
- Maven 3.x
- SonarQube已 安装
- 至少SonarQube服务器支持的Java最低版本正在使用中(Java 8用于最新的LTS)
- 您希望分析的每种语言的语言插件都已安装
- 您已阅读 分析代码源。
初始设置
全局设置
编辑位于$ MAVEN_HOME / conf或〜/ .m2中的 settings.xml文件,以设置插件前缀和可选的SonarQube服务器URL。
例:
<settings><pluginGroups><pluginGroup>org.sonarsource.scanner.maven</pluginGroup></pluginGroups><profiles><profile><id>sonar</id><activation><activeByDefault>true</activeByDefault></activation><properties><!-- Optional URL to server. Default value is http://localhost:9000 --><sonar.host.url>http://myserver:9000</sonar.host.url></properties></profile></profiles></settings>
分析一个Maven项目
分析Maven项目包括运行Maven目标:sonar:sonar
在pom.xml文件所在的目录中。
mvn clean verify sonar:sonar# In some situation you may want to run sonar:sonar goal as a dedicated step. Be sure to use install as first step for multi-module projectsmvn clean installmvn sonar:sonar# Specify the version of sonar-maven-plugin instead of using the latest. See also 'How to Fix Version of Maven Plugin' below.mvn org.sonarsource.scanner.maven:sonar-maven-plugin:3.4.0.905:sonar
要获得覆盖信息,您需要在分析之前生成覆盖率报告。有关更多信息,请参阅 Java项目的单元测试代码覆盖率。
配置SonarQube分析
分析参数列在分析参数页面上。你必须像这样在你的pom.xml的<properties>部分配置它们:
<properties><sonar.exclusions> [...] </sonar.exclusions></properties>
安全
任何被授予执行分析 权限的用户都 可以运行分析。
如果“ 任何人” 组未获得“ 执行分析” 权限,或者SonarQube实例受到保护(该 sonar.forceAuthentication
属性设置为 true)
,则 必须通过该 属性提供具有“ 执行分析”权限 的用户的分析标记 sonar.login
。 sonar-scanner -Dsonar.login=[my analysis token]
从SonarQube分析中排除模块
你可以:
在要排除的模块的pom.xml中定义属性<sonar.skip> true </sonar.skip>
- 使用构建配置文件来排除某些模块(如用于集成测试)
- 使用高级反应堆选项(如“-pl”)。例如mvn sonar:sonar -pl!module2
示例项目
为了帮助您开始,您可以在这里找到一个简单的项目示例:https : //github.com/SonarSource/sonar-scanning-examples/tree/master/sonarqube-scanner-maven
如何修复Maven插件的版本
建议 锁定Maven插件的版本:
项目使用Maven 3进行分析
<build><pluginManagement><plugins><plugin><groupId>org.sonarsource.scanner.maven</groupId><artifactId>sonar-maven-plugin</artifactId><version>3.4.0.905</version></plugin></plugins></pluginManagement> </build>
故障排除
如果你得到一个java.lang.OutOfMemoryError,你可以在* nix环境中设置MAVEN_OPTS环境变量:
|
在Windows环境中,避免使用双引号,因为它们会被误解。
|
转载于:https://my.oschina.net/u/2300159/blog/1801463
使用SonarQube Scanner for Maven 分析相关推荐
- 基于Win10极简SonarQube C#代码质量分析
博客有些好些时间未更新了,这几个月的时间里,离开了实习的公司.大学毕了业.来了新公司.转了户口,有点忙,最近总算稍微闲下来了,打算重新拾起博客,坚持写下去. 言归正转,什么是SonarQube ? S ...
- Jenkins集成Sonar(3/3)- 安装SonarQube Scanner进行扫描(离线安装)
安装方式选择: 在线安装:直接在Jenkins>系统管理>插件管理>可选插件,搜索Sonar 离线安装:下载sonar插件,将插件解压放入~/.jenkins/plugins/下即可 ...
- ERROR: SonarQube scanner exited with non-zero code: 137
报这个错误: INFO: 75 files indexed INFO: Quality profile for go: Sonar way INFO: ------------- Run sensor ...
- SonarQube系列二、分析dotnet core/C#代码
来源:https://www.cnblogs.com/7tiny/p/11342902.html [前言] 本系列主要讲述sonarqube的安装部署以及如何集成jenkins自动化分析.netcor ...
- jenkins svn/git sonarqube scanner 代码集成测试
大家好,我是烤鸭: 今天分享一个代码检测工具sonar,在jenkins集成的时候使用. 环境: sonarqube 7.1 jenkins 2.12x sonarqube scanner (官网最新 ...
- Sonarqube+maven 分析代码
文章目录 一.方式1 1. 配置 2. 编译项目执行命令 2.1.编译项目 2.2.代码分析 3. 分析结果 4. 解决bug 5. 项目名称 二.方式2 三.方式3 Sonar是一个用于代码质量管理 ...
- 【代码审计】使用SonarQube进行代码质量分析管理
2019独角兽企业重金招聘Python工程师标准>>> 在之前的开发中,代码的工作量化和质量化都是一个问题,随着近几年互联网行业的快速发展,代码已经可以来工作量化和质量化,今天我们来 ...
- SonarQube中的Maven项目的单元和集成测试报告
自SonarQube 4.2起. 测试报告不是在Maven构建期间由Sonar Maven插件生成的(请参阅SonarQube的博客文章 ). 因此,在Sonar Maven插件收集SonarQube ...
- 代码审查工具 sonarqube 简介
目录 1. 什么是SonarQube? SonarQube的功能 1.糟糕的复杂度分布 2.重复 3.缺乏单元测试 4.没有代码标准 5.没有足够的或者过多的注释 6.潜在的bug 7.糟糕的设计(原 ...
- 代码质量管理工具SonarQube详解
SonarQube的目的是对软件项目的代码进行分析,在开发人员提交代码之际就尽早发现代码的质量问题,并提示(或强制要求)开发人员改进. SonarQube由以下几个部分组成: 1. SonarQube ...
最新文章
- 活久见!谷歌开源“大杀器”,CV、NLP都能用!
- CSS3中的 Background linear gradient()用法
- mysql merge union_MySQLMerge存储引擎
- 在无Yum源的环境安装软件(CentOS)
- 白话科普,10s 了解 API
- IDEA Unmapped Spring configuration files found.
- openmv探索_4_AprilTag标记追踪
- mac 安装homebrew 并替换清华镜像
- 六西格玛黑带考试试题|优思学院
- 易思ESPCMS企业建站管理系统 P8.21120101 稳定版
- Bluetooth 蓝牙介绍(四):低功耗蓝牙BLE Mesh网络Ⅲ —— 广播 PDU
- 应付一天(今天太累)附新东方考研5500词音频
- emd,eemd,vmd,频谱图,分解图对比matlab代码
- oracle vba 数组_Excel VBA 连接各种数据库(二) VBA连接Oracle数据库
- ping www.baidu.com虚拟机中ping百度
- java mysql 生僻字 乱码_mysql 生僻字乱码
- 如何在ChinaRen校友录中免费发多彩留言
- 做好防雷检测的重要意义和作用
- 作为数据分析师怎样选择适合你的分析工具?
- 医学图像处理——入门篇(一)
热门文章
- 一个 JS 库就能解决小程序跨页传递事件消息和数据
- golang 获取当前年月日
- JDK打印的疑问:CUPSPrinter有何用处?
- 六石管理学:公司要有应付没钱的预案,包括裁员
- No compiler is provided in this environment. Perhaps you are running on a JRE
- 编译WINDOWS版FFmpeg:编译SDL
- 祝贺在龙芯平台上编译jogamp(gluegen/jogl)2.3.2通过,并运行成功
- 成功解决:Could not initialize SDL - No available video device (Did you set the DISPLAY variable?)
- LINUX下载编译fontconfig
- 把c的char数组转换为python image的代码