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/

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Maven是一个项目管理工具,而MyBatis Plus是一个于MyBatis的增强工具库,可以简化MyBatis的开发流程。下面是使用Maven构建MyBatis Plus项目的步骤: 1. 创建Maven项目使用Maven命令或者IDE工具创建一个新的Maven项目。 2. 添加依赖:在项目的pom.xml文件中添加MyBatis Plus和其他必要的依赖。例如: ```xml <dependencies> <!-- MyBatis Plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>最新版本</version> </dependency> <!-- 其他依赖 --> </dependencies> ``` 请注意将`最新版本`替换为MyBatis Plus的最新版本号。 3. 配置数据库连接:在项目的配置文件中配置数据库连接信息,包括数据库URL、用户名、密码等。 4. 创建实体类:根据数据库表结构创建对应的实体类,并使用注解或XML配置与数据库表的映射关系。 5. 创建Mapper接口:创建Mapper接口,用于定义数据库操作的方法。可以使用MyBatis Plus提供的通用Mapper接口,也可以自定义方法。 6. 创建Mapper XML文件:根据Mapper接口定义的方法,在XML文件中编写对应的SQL语句。 7. 配置MyBatis Plus:在项目的配置文件中配置MyBatis Plus相关的配置,如Mapper扫描路径、分页插件等。 8. 编写业务代码:根据需求编写业务代码,调用Mapper接口中的方法进行数据库操作。 9. 运行项目使用Maven命令或者IDE工具运行项目,测试功能是否正常。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值