java sonar结合maven使用

java sonar结合maven使用

什么是sonar

Sonar(SonarQube)是一个开源平台,用于管理源代码的质量。Sonar 不只是一个质量数据报告工具,更是代码质量管理平台。支持的语言包括:Java、PHP、C#、C、Cobol、PL/SQL、Flex 等。Sonar一个Web系统,展现了静态代码扫描的结果,结果是可以自定义的 ,支持多种语言的原理是它的扩展性。
java sonar结合maven使用_第1张图片

sonar 安装

点击查看sonar安装教程

如何结合maven使用

sonar是对代码进行质量扫描,应该就在部署之前进行的,部署前进行的就是代码打包,现在对java而已都是用maven进行管理和打包的动作,所以代码扫描和soanr的结合也算是理所应当了。
和maven的结合使用可以查看sonar的文档
java sonar结合maven使用_第2张图片

  1. 全局配置maven的setting文件(在$MAVEN_HOME/conf下)
<settings>
    <pluginGroups>
        <pluginGroup>org.sonarsource.scanner.mavenpluginGroup>
    pluginGroups>
    <profiles>
        <profile>
            <id>sonarid>
            <activation>
                <activeByDefault>trueactiveByDefault>
            activation>
            <properties>
                
                <sonar.host.url>
                  http://myserver:9000
                sonar.host.url>
            properties>
        profile>
     profiles>
settings>
  1. 调用sonar进行代码扫描

结合多指令使用

mvn clean verify sonar:sonar -Dsonar.login=myAuthenticationToken

分开指令使用

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

指定sonar插件版本使用

mvn org.sonarsource.scanner.maven:sonar-maven-plugin:3.7.0.1746:sonar
  1. sonar一般使用到的变量
-Dsonar.login=myAuthenticationToken   soanr的token
-Dsonar.host.url   sonar的地址
-Dsonar.projectKey sonar项目名
-Dsonar.analysis.自定义变量      sonar自定义变量,用于接口回传
  1. 在maven项目的pom文件锁定sonar插件的版本
<build>
  <pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.sonarsource.scanner.mavengroupId>
        <artifactId>sonar-maven-pluginartifactId>
        <version>3.7.0.1746version>
      plugin>
    plugins>
  pluginManagement>
build>
  1. sonar maven的官方示例
    https://github.com/SonarSource/sonar-scanning-examples/tree/master/sonarqube-scanner-maven

结果展示

java sonar结合maven使用_第3张图片
java sonar结合maven使用_第4张图片
java sonar结合maven使用_第5张图片

总结

sonar代码扫描在maven中的应用很简单,不会侵入代码,简单方便。运用sonar能提高代码的品质,规避不必要的代码缺陷,提升代码鲁棒性,大家一起加油。

你可能感兴趣的:(java,devops,java,maven,开发语言)