栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

SonarScanner扫描Maven项目使用说明

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SonarScanner扫描Maven项目使用说明

最近在学习使用sonar扫描代码 已经成功扫描python项目 而扫描java代码不成功。

在网上找到的扫描java项目文章 经过尝试之后也没有成功。

本人自己研究了sonar官方的使用说明文章 将其翻译成中文。

前言

建议将用于Maven的SonarScanner作为Maven项目的默认扫描程序。

通过常规Maven目标执行SonarQube分析的能力使得它可以在任何Maven可用的地方使用 开发人员构建、CI服务器等 不需要手动下载、安装和维护SonarQube Runner安装。Maven构建已经拥有SonarQube成功分析项目所需的许多信息。通过基于这些信息预先配置分析 手动配置的需求大大减少。

前提条件 使用Maven 3.0及以上版本至少使用了您的SonarQube服务器支持的最小版本的Java 其实就是要注意jdk的版本 这里可能要注意一下 现在sonarqube最低要求的jdk版本是11 而SonarScanner最低要求的版本是8 最好就使用11版本吧 全局设置

编辑setting.xml文件 位置在$MAVEN_HOME/conf或者~/.m2 来设置插件前缀和可选的SonarQube服务器URL。按我的理解 需要把“http://myserver:9000”改成是自己所搭建的sonarqube服务器地址 其他地方应该不需要改动。

 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目标路径 这是从保存主项目pom.xml的目录中获取。 你需要在扫描命令中加入认证token 如下
mvn clean verify sonar:sonar -Dsonar.login myAuthenticationToken

在某些情况下 您可能想运行sonar:sonar作为专用步骤。对于多模块项目 第一步是安装。如下

mvn clean install
mvn sonar:sonar -Dsonar.login myAuthenticationToken

要指定snoar-maven插件的版本而不是使用最新版本 如下
mvn org.sonarsource.scanner.maven:sonar-maven-plugin:3.7.0.1746:sonar

要获得扫描覆盖率信息 您需要在分析之前生成覆盖率报告。

配置分析

大多数分析属性将从项目中读取。如果您想覆盖指定附加参数的默认值 请配置pom.xml文件的 部分 如下

 properties 
 sonar.buildString [...] /sonar.buildString 
 /properties 
示例项目

为了帮助你开始 可以使用这个简单的示例项目 https://github.com/SonarSource/sonar-scanning-examples/tree/master/sonarqube-scanner-maven

可在下面地址直接下载压缩包 https://github.com/SonarSource/sonar-scanning-examples

排除扫描的模块 在pom.xml文件的 sonar.skip true /sonar.skip 定义要排除的模块的属性使用构建概要文件排除某些模块(如集成测试)使用前置的选项 例如“-pl” 。如mvn sonar:sonar -pl !module2 如何修复Maven插件的版本

建议锁定Maven插件的版本

 build 
 pluginManagement 
 plugins 
 plugin 
 groupId org.sonarsource.scanner.maven /groupId 
 artifactId sonar-maven-plugin /artifactId 
 version 3.7.0.1746 /version 
 /plugin 
 /plugins 
 /pluginManagement 
 /build 
故障排除

如果你遇到java.lang.OutOfMemoryError 设置MAVEN_OPTS环境变量 就像在*nix环境中这样
export MAVEN_OPTS -Xmx512m

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

原文链接

本篇文章基于20210926的官网文章 翻译之中可能有不够恰当的地方 推荐直接阅读官方文档。

原文链接如下
https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-maven/

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/268202.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号