Technical note

研发规约-Sonar代码检测

Sonar地址

http://localhost:9000

admin/admin
暂定localhost,后期根据部署情况修改

本机Maven配置

配置~/.m2/settings.xml

<profile>
    <id>sonar</id>
    <activation>
        <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
        <sonar.host.url>http://localhost:9000</sonar.host.url>
    </properties>
</profile>

为工程添加Jacoco插件

配置工程的pom.xml

<project>
    <build>
        <plugins>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>0.7.7.201606060606</version>
                <executions>
                    <execution>
                        <id>default-prepare-agent</id>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

注意将surefire插件的skipTests选项关闭:

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.10</version>
                <!-- <configuration> -->
                   <!-- <skipTests>true</skipTests> -->
                <!-- </configuration> -->
            </plugin>

代码手工上传Sonar

mvn clean verify sonar:sonar

Sonar代码检查结果

上传Sonar后,会生成代码质量检查报告 2020-02-07-19-34-54

点击链接即可查看 2020-02-07-19-44-56

页面中会展示代码的BUG、漏洞、单元测试覆盖率、代码重复率等信息,可点击进入详情页面,Sonar会给出详细的修改建议,根据提示修改代码。 2020-02-07-19-36-05