4.上传PDF输出报告插件sonar-pdfreport-plugin-3.0.3.jar(可选,需要导出PDF结果报告则添加)
        将插件移动至目录./sonarqube-7.5/extensions/plugins下

5.修改配置文件 ./sonarqube-7.5/conf/sonar.properties,如下:主要修改数据库配置:
        注意:要提前在数据库实例上建库 sonar

sonarqube扫描java原理 sonar扫描规则_java

sonar.jdbc.username=用户名
     sonar.jdbc.password=密码
     sonar.jdbc.url=jdbc:mysql://主机ip地址:3306/sonar?allowMultiQueries=true&useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false&allowPublicKeyRetrieval=true

6.修改配置文件./sonarqube-7.5/conf/wrapper.conf,如下:主要修改jdk配置

sonarqube扫描java原理 sonar扫描规则_bc_02

7.启动sonarqube服务:
         注意:不能使用root用户启动,需要自建用户启动,因为启动时会启动es组件,而es组件要求不能以root用户身份启动。(示例使用sonaruse启动,需要将sonarqube的所有文件的所属都改为sonaruse,使用命令: chown -R sonaruse:sonaruse sonarqube-7.5

启动:

./bin/linux-x86-64/sonar.sh start

8.通过浏览器访问SonarQube服务:
        注意:访问失败请排查进程和端口9000是否正常监听,之后排查防火墙和安全组策略,日志正常却访问不了应该是防火墙或安全组问题。
        地址:http://host:9000/
        默认账号:admin
        默认密码:admin

sonarqube扫描java原理 sonar扫描规则_java_03

9.SonarQube服务的PDF报告输出插件的相关配置:

sonarqube扫描java原理 sonar扫描规则_bc_04

如下配置:

sonarqube扫描java原理 sonar扫描规则_sonarqube扫描java原理_05

SonarQube服务的配置结束

二、SonarScanner 扫描配置:

参考官方文档 SonarScanner for Maven

先决条件

  • Maven 3.2.5+
  • 至少使用 SonarQube 服务器支持的最低 Java 版本

settings.xml 文件中添加如下配置。

<pluginGroups>
    <!-- pluginGroup
     | Specifies a further group identifier to use for plugin lookup.
    <pluginGroup>com.your.plugins</pluginGroup>
    -->
    <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://ip:9000</sonar.host.url>
            <!-- 配置自己的账号、密码,就无需每次使用token密钥 -->
            <sonar.login>admin</sonar.login>
            <sonar.password>admin</sonar.password>
        </properties>
    </profile>
 </profiles>

项目 pom.xml文件添加配置

<build>
	   <plugins>
            <plugin>
		        <groupId>org.sonarsource.scanner.maven</groupId>
		        <artifactId>sonar-maven-plugin</artifactId>
		        <version>3.9.1.2184</version>
		    </plugin>
		</plugins>
</build>

三、扫描

在项目pom.xml所在位置,打开shell窗口,执行 mvn clean compile sonar:sonar

sonarqube扫描java原理 sonar扫描规则_java_06

扫描完成,生成报告