(02)sonarqube-7.3扫描代码示例

  1、maven配置scanner插件

  1)可以在maven的配置文件settings.xml中配置。添加如下内容:

<settings> 
  <pluginGroups>
     <pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
  </pluginGroups>
  <profiles>
    <profile>
         <id>sonar</id>
         <activation>
            <activeByDefault>true</activeByDefault>
         </activation>
         <properties>
            <sonar.host.url>
                http://localhost:9000
            </sonar.host.url>
        </properties>
    </profile>
  </profiles>
</settings>

  2)也可以直接在项目的pom.xml文件中配置。添加如下内容:

<profiles>
    <profile>
        <id>sonar</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <sonar.host.url>
                http://localhost:9000
            </sonar.host.url>
        </properties>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.sonarsource.scanner.maven</groupId>
                    <artifactId>sonar-maven-plugin</artifactId>
                    <version>3.2</version>
                </plugin>
            </plugins> 
        </build>
    </profile>
</profiles>

  2、执行maven命令

  打开cmd窗口,cd到项目的跟目录,首次运行执行命令1:

mvn org.sonarsource.scanner.maven:sonar-maven-plugin:3.2:sonar

  如果项目pom.xml中配置了3.2版本,首次运行后,后面可以执行命令2:

mvn -U compile sonar:sonar -Denv=sonar -fail-never

  说明:命令1包含了版本号,会安装对应版本的插件。无论pom.xml中是否配置了版本号 ,首次运行都应该执行命令1,否则除了指定的版本,也会下载其它版本的插件,浪费很长时间。如果pom.xml中配置了版本,除了首次之外,还可以执行命令2。

  执行成功示例:

  

  登录控制台:http://localhost:9000/projects可看到扫描结果,扫描的是整个项目的代码。

  

  点击项目名称查看详情。在代码中找到对应的问题修改后重新运行上面的命令,该界面相应的数据就改变了。

  3、扫描指定文件

  在项目的pom.xml中可以指定要扫描哪些包、哪些文件、排除哪些包、哪些文件,如下:

<profiles>
    <profile>
        <id>sonar</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <sonar.host.url>
                http://localhost:9000
            </sonar.host.url>
            <sonar.inclusions>
                src/main/java/com/sl/service/**,
                src/main/java/com/xx/service/impl/**,
                src/main/java/com/sl/controller/TestController.java
            </sonar.inclusions>
            <sonar.exclusions>
                src/main/java/com/xx/service/impl/TestServiceImpl3.java
            </sonar.exclusions> 
        </properties>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.sonarsource.scanner.maven</groupId>
                    <artifactId>sonar-maven-plugin</artifactId>
                    <version>3.2</version>
                </plugin>
            </plugins> 
        </build>
    </profile>
</profiles>

 

posted @ 2020-04-27 16:35  雷雨客  阅读(507)  评论(0编辑  收藏  举报