准备工作
- 项目中gradle版本为3.3, sonar 使用5.6.6
- 项目为springboot项目
引入sonar仓库地址以及依赖包
- maven { url “https://plugins.gradle.org/m2/” }
- classpath (“org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.3”)
- 因为是多模块的 所以放在了最外层build.gradle
build.gradle
buildscript {
repositories {
maven { url "https://plugins.gradle.org/m2/"}
}
dependencies {
classpath ("org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.3")
}
}
sonarqube
- 在build.gradle 中加入 sonarqube
- 因为要在所有的项目中使用所以加在了 subprojects
subprojects{
sonarqube{
properties{
property "sonar.host.url", "http://localhost:9000/"
property "sonar.jdbc.url", "jdbc:mysql://my.server.com/sonar"
property "sonar.jdbc.driverClassName", "com.mysql.jdbc.Driver"
property "sonar.jdbc.username", "sonar"
property "sonar.jdbc.password", "sonar"
}
}
}
apply plugin##
- apply plugin: ‘org.sonarqube’
完整的build.gradle
buildscript {
repositories {
maven { url "https://plugins.gradle.org/m2/"}
}
dependencies {
classpath ("org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.3")
}
}
apply plugin: 'org.sonarqube'
allprojects {
apply plugin: 'idea'
group = 'com.bootcwenao'
version = '0.1.0-SNAPSHOT'
}
subprojects {
apply plugin: 'java'
sourceCompatibility = 1.8
targetCompatibility = 1.8
sourceSets {
main {
java.srcDir('src/main/java')
resources.srcDir('src/main/resources')
}
test {
java.srcDir('src/test/java')
resources.srcDir('src/test/resources')
}
}
sonarqube{
properties{
property "sonar.host.url", "http://localhost:9000/"
property "sonar.jdbc.url", "jdbc:mysql://my.server.com/sonar"
property "sonar.jdbc.driverClassName", "com.mysql.jdbc.Driver"
property "sonar.jdbc.username", "sonar"
property "sonar.jdbc.password", "sonar"
}
}
task wrapper(type: Wrapper) {
gradleVersion = '3.3'
}
}
启动sonar
- StartSonar.bat
测试
- gradle sonarqube -x test
如有疑问请加公众号(K171),如果觉得对您有帮助请 github start
公众号_k171