SonarQube + Maven 进行代码分析

Posted 叨叨软件测试

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SonarQube + Maven 进行代码分析相关的知识,希望对你有一定的参考价值。

安装设置

参见之前的文章:

分析权限设置

为了分析方便,这里设置了一个 sonar 用户,默认配置到 Maven 的 settings.xml 中,用于 Jenkins 或者本地执行 Sonar 分析代码使用,当然也可以配置具有执行分析权限的用户。

Maven 设置

settings.xml

$ cat settings.xml
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    ......
    <pluginGroups>
        <pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
    </pluginGroups>
    .....
    <profile>
      <id>sonar</id>

      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>

      <properties>
        <sonar.host.url>https://xxx.com/sonar</sonar.host.url>
        <!-- 具有执行分析权限的用户名和密码 -->
        <sonar.login>sonar</sonar.login>
        <sonar.password>xxxxxx</sonar.password>
      </properties>
    </profile>
  </profiles>
  ......
</settings>

分析

# 执行 sonar 代码分析,跳过单元测试
$ mvn clean verify sonar:sonar -Dmaven.test.skip=true

# 配合 Maven 的 -pl、-am 参数,实现模块代码分析
$ mvn clean verify sonar:sonar -pl nait-per -am

报告

微信公众号:daodaotest

以上是关于SonarQube + Maven 进行代码分析的主要内容,如果未能解决你的问题,请参考以下文章

是否有任何 Maven 命令可以在 Jenkins shell 上运行来分析 SonarQube 中的打字稿代码?

用SonarQube和SonarLint分析maven项目中的Java代码坏味道

用SonarQube和SonarLint分析maven项目中的Java代码坏味道

SonarQube静态代码分析maven集成方式

Maven 和 SonarTsPlugin 的 SonarQube 扫描仪无法运行节点

java/maven项目的TFS代码分析