使用本地的sonarqube服务:

1、到 http://www.eclemma.org/jacoco/ 上下载最新版本的jacoco的文件,放到服务的 /opt目录下并解压缩。

2、修改服务的启动配置bin/setenv.sh  文件:JAVA_OPTS= 增加:-javaagent:/opt/jacoco/lib/jacocoagent.jar=includes=com.*(包名),output=tcpserver,port=12301,address=0.0.0.0;再重启服务,查看服务器jacocoagent.jar服务是否启动:ps -ef | grep java

3、从git上下载源码到本地(与服务器的代码、分支一致),运行maven install,生成classes

4、接口测试后,本地在项目目录下用命令用jacococli收集jacoco-it.exec:java -jar D:\下载的软件\jacoco-0.8.1\lib\jacococli.jar dump --address 10.112.**.**(服务器地址) --port 12301 --destfile target/jacoco-it.exec

(生成的classes文件和jacoco*.exec文件必须为同一个jvm编译,否则覆盖率为0,找不到服务器生成的classes,所以这边都是用本地的jvm生成)

5、启动sonarqube服务(到官网下载安装文件http://www.sonarqube.org/downloads/

6、运行mvn的sonar任务分析覆盖率数据:

mvn sonar:sonar -Dmaven.test.skip=true-Dsonar.jacoco.ReportPath="D:\IDEA_workspace\fs-sail-server\fs-sail-wechat\target\jacoco-it.exec" -Dsonar.core.codeCoveragePlugin=jacoco -Dsonar.dynamicAnalysis=reuseReports

 

使用firstshare的sonarqube服务:

1、替换IDEA的maven 的setting文件(有配置sonar的服务地址:D:\覆盖率统计)

4、在IDEA根目录运行:java -jar D:\下载的软件\jacoco-0.8.1\lib\jacococli.jar dump --address 10.112.32.48 --port 12301 --destfile fs-sail-wechat/target/jacoco-it.exec         

5、在IDEA根目录运行:mvn sonar:sonar -Dmaven.test.skip=true -Dsonar.core.codeCoveragePlugin=jacoco -Dsonar.dynamicAnalysis=reuseReports