可参考文档:jacoco统计自动化代码覆盖率
1.结合AnT
build.xml配置如下,主要包括Jacoco的安装路径,最终生成.exec文件的路径,生成覆盖率报告report的路径,远程监听服务ip和端口以及源代码路径和.class文件路径;
build.xml配置如下:
2.监听注入:
2.1上传jacocoagent.jar到被监听服务的服务器;
2.2编辑被监听服务(tomcat服务)的start.sh文件,给JAVA_OPTS参数添加如下内容:
-javaagent:/export/App/Jco/jacocoagent.jar=includes=com.jd.*,output=tcpserver,port=4374,address=192.168.156.92
参数说明如下:
1) -javaagent: 的后面跟jacoco的安装路径
2) includes= 选项,选择你要覆盖率的服务,也就是包名
3) port=,选择你要打开的端口,jacoco的端口,与所对应的tomcat端口不能一样,与其他端口也不能冲突
4) address= tomcat服务所在机器的ip地址(如果想在跟tomcat服务同一台机器上执行ant任务的话,需要改为127.0.0.1)
5) -Xverify:none,避免启动报错的情况
这样配置后就将jacoco嵌入到了tomcat中,到时候tomcat起来后,就通过开放的端口,来访问jacoco检测到的数据。正常启动tomcat,jacoco就在实时监测tomcat中运行的war包,此时数据全部存放在内存中。
3.生成报告
执行命令: