配置maven插件
在maven的settings中配置插件
<pluginGroups> <pluginGroup>org.sonarsource.scanner.maven</pluginGroup> <pluginGroup>org.jacoco</pluginGroup> </pluginGroups> <profiles> <profile> <id>sonar</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <sonar.host.url> ${sonar.url} </sonar.host.url> <sonar.login>${user.token}</sonar.login> </properties> </profile> </profiles>
打包参数
mvn clean jacoco:prepare-agent test jacoco:report sonar:sonar -Dsonar.projectKey=${projectName} -Dsonar.java.binaries=target install -e -am
常见谬误
- You're not authorized to run analysis. Please contact the project administrator Sonarqube local
应用了sonar.login参数,传了token,但在执行mvn命令时呈现了该谬误.
解决办法:
办法1. 敞开sonarqube的权限, 配置>配置>权限>Force user authentication(不举荐),这样能够删除sonar.login参数, sonar会主动创立我的项目;
办法2. 应用-Dsonar.projectKey=${projectName}, 指定project名称就不会报错了 - Your project contains .java files, please provide compiled classes with sonar.java.binaries property
应用新版本的sonarqube呈现
解决办法:
办法1. 回退sonarqube java插件的版本(不举荐)
办法2. 应用-Dsonar.java.binaries=target jacoco没有生成测试报告,Skipping Jacoco execution due to missing execution data file
这个谬误很恶心,始终产生surefire的测试报告, 没有jacoco的测试报告.因为我是用命令行执行的jacoco,没有用pom.xml配置,要与Azure整合,尝试了半天。
解决办法:
须要残缺的增加一下参数,test必须放两头, 放其它地位,jacoco也不肯定失效jacoco:prepare-agent test jacoco:report sonar:sonar