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环境变量:

export MAVEN_OPTS="-Xmx512m"

在Windows环境中,避免使用双引号,因为它们会被误解。

set MAVEN_OPTS=-Xmx512m

转载于:https://my.oschina.net/u/2300159/blog/1801463

使用SonarQube Scanner for Maven 分析相关推荐

  1. 基于Win10极简SonarQube C#代码质量分析

    博客有些好些时间未更新了,这几个月的时间里,离开了实习的公司.大学毕了业.来了新公司.转了户口,有点忙,最近总算稍微闲下来了,打算重新拾起博客,坚持写下去. 言归正转,什么是SonarQube ? S ...

  2. Jenkins集成Sonar(3/3)- 安装SonarQube Scanner进行扫描(离线安装)

    安装方式选择: 在线安装:直接在Jenkins>系统管理>插件管理>可选插件,搜索Sonar 离线安装:下载sonar插件,将插件解压放入~/.jenkins/plugins/下即可 ...

  3. ERROR: SonarQube scanner exited with non-zero code: 137

    报这个错误: INFO: 75 files indexed INFO: Quality profile for go: Sonar way INFO: ------------- Run sensor ...

  4. SonarQube系列二、分析dotnet core/C#代码

    来源:https://www.cnblogs.com/7tiny/p/11342902.html [前言] 本系列主要讲述sonarqube的安装部署以及如何集成jenkins自动化分析.netcor ...

  5. jenkins svn/git sonarqube scanner 代码集成测试

    大家好,我是烤鸭: 今天分享一个代码检测工具sonar,在jenkins集成的时候使用. 环境: sonarqube 7.1 jenkins 2.12x sonarqube scanner (官网最新 ...

  6. Sonarqube+maven 分析代码

    文章目录 一.方式1 1. 配置 2. 编译项目执行命令 2.1.编译项目 2.2.代码分析 3. 分析结果 4. 解决bug 5. 项目名称 二.方式2 三.方式3 Sonar是一个用于代码质量管理 ...

  7. 【代码审计】使用SonarQube进行代码质量分析管理

    2019独角兽企业重金招聘Python工程师标准>>> 在之前的开发中,代码的工作量化和质量化都是一个问题,随着近几年互联网行业的快速发展,代码已经可以来工作量化和质量化,今天我们来 ...

  8. SonarQube中的Maven项目的单元和集成测试报告

    自SonarQube 4.2起. 测试报告不是在Maven构建期间由Sonar Maven插件生成的(请参阅SonarQube的博客文章 ). 因此,在Sonar Maven插件收集SonarQube ...

  9. 代码审查工具 sonarqube 简介

    目录 1. 什么是SonarQube? SonarQube的功能 1.糟糕的复杂度分布 2.重复 3.缺乏单元测试 4.没有代码标准 5.没有足够的或者过多的注释 6.潜在的bug 7.糟糕的设计(原 ...

  10. 代码质量管理工具SonarQube详解

    SonarQube的目的是对软件项目的代码进行分析,在开发人员提交代码之际就尽早发现代码的质量问题,并提示(或强制要求)开发人员改进. SonarQube由以下几个部分组成: 1. SonarQube ...

最新文章

  1. 活久见!谷歌开源“大杀器”,CV、NLP都能用!
  2. CSS3中的 Background linear gradient()用法
  3. mysql merge union_MySQLMerge存储引擎
  4. 在无Yum源的环境安装软件(CentOS)
  5. 白话科普,10s 了解 API
  6. IDEA Unmapped Spring configuration files found.
  7. openmv探索_4_AprilTag标记追踪
  8. mac 安装homebrew 并替换清华镜像
  9. 六西格玛黑带考试试题|优思学院
  10. 易思ESPCMS企业建站管理系统 P8.21120101 稳定版
  11. Bluetooth 蓝牙介绍(四):低功耗蓝牙BLE Mesh网络Ⅲ —— 广播 PDU
  12. 应付一天(今天太累)附新东方考研5500词音频
  13. emd,eemd,vmd,频谱图,分解图对比matlab代码
  14. oracle vba 数组_Excel VBA 连接各种数据库(二) VBA连接Oracle数据库
  15. ping www.baidu.com虚拟机中ping百度
  16. java mysql 生僻字 乱码_mysql 生僻字乱码
  17. 如何在ChinaRen校友录中免费发多彩留言
  18. 做好防雷检测的重要意义和作用
  19. 作为数据分析师怎样选择适合你的分析工具?
  20. 医学图像处理——入门篇(一)

热门文章

  1. 一个 JS 库就能解决小程序跨页传递事件消息和数据
  2. golang 获取当前年月日
  3. JDK打印的疑问:CUPSPrinter有何用处?
  4. 六石管理学:公司要有应付没钱的预案,包括裁员
  5. No compiler is provided in this environment. Perhaps you are running on a JRE
  6. 编译WINDOWS版FFmpeg:编译SDL
  7. 祝贺在龙芯平台上编译jogamp(gluegen/jogl)2.3.2通过,并运行成功
  8. 成功解决:Could not initialize SDL - No available video device (Did you set the DISPLAY variable?)
  9. LINUX下载编译fontconfig
  10. 把c的char数组转换为python image的代码