JaCoCo :: Core

JaCoCo Core

License

License

Categories

Categories

JaCoCo Application Testing & Monitoring Code Coverage
GroupId

GroupId

com.github.shidilii
ArtifactId

ArtifactId

jacococore
Last Version

Last Version

0.8.4
Release Date

Release Date

Type

Type

jar
Description

Description

JaCoCo :: Core
JaCoCo Core

Download jacococore

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.shidilii/jacococore/ -->
<dependency>
    <groupId>com.github.shidilii</groupId>
    <artifactId>jacococore</artifactId>
    <version>0.8.4</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.shidilii/jacococore/
implementation 'com.github.shidilii:jacococore:0.8.4'
// https://jarcasting.com/artifacts/com.github.shidilii/jacococore/
implementation ("com.github.shidilii:jacococore:0.8.4")
'com.github.shidilii:jacococore:jar:0.8.4'
<dependency org="com.github.shidilii" name="jacococore" rev="0.8.4">
  <artifact name="jacococore" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.shidilii', module='jacococore', version='0.8.4')
)
libraryDependencies += "com.github.shidilii" % "jacococore" % "0.8.4"
[com.github.shidilii/jacococore "0.8.4"]

Dependencies

compile (5)

Group / Artifact Type Version
org.ow2.asm : asm jar 7.1
org.ow2.asm : asm-commons jar 7.1
org.ow2.asm : asm-tree jar 7.1
org.eclipse.jdt : org.eclipse.jdt.core jar 3.19.0
org.eclipse.jgit : org.eclipse.jgit jar 5.5.0.201909110433-r

Project Modules

There are no modules declared in this project.

使用此功能注意事项如下:

1、对于要监控代码覆盖率的jar包启动方式增加监听,启动方式如下(注意D:\bgy_idea\jacocolib下面要有官网的的jacocoagent.jar) java -javaagent:D:\bgy_idea\jacocolib\jacocoagent.jar=output=tcpserver,port=18089,append=true, address=127.0.0.1,includes=com.shidili.demo.* -jar D:\bgy-git\demo\target\demo-0.0.1.jar

2、项目配置属性描述 allExecPath=C://jaco-exec --存放合并后的dump文件

execPath=C://jaco-exec//execfiles --每次生成的dump文件

jacocoipadress=localhost --需要监控覆盖率的服务器ip,记得必须是ip

jacocoport=18089 --监控端口

projectPath=C://jaco-exec//demo --监控的项目,需要用git拉取这个监控的项目,并切换分支为需要监控的,比如release

classDirectory=/target --项目的class文件,gradle是build

srcPath=/src/main/java --java路径

remoteBranch=https://github.com/shidilii/demo.git --监控项目的git地址

pullbat=C://jaco-exec//pull2.bat --拉取项目的bat文件

ReportGenerator的git授权代码记得自己改下用户名和密码:GitAdapter.setCredentialsProvider("[email protected]", "******");

3、注意跑监控服务的服务器和jacoco服务器是一致的,要么都是windows,要么都是linux,否则可能因为不同服务器编译不一致,导致某一些代码覆盖率是错误的

4、整个项目运行过程

a、服务器上跑demo服务,记得增加agent

b、手动执行代码覆盖率接口,浏览器输入这个地址即可,http://localhost:18090/jacoco/generateReporte

5、整个功能使用过程中,有一个问题一致无法解决,就是在调试过程中,有的时候因为jgit插件文件,会一直包拉取代码冲突, 所以如果有冲突问题,可以先删掉整个项目,再拉取一次,然后不要用debug模式跑项目一般是没有问题的

6、本项目也增加了定时任务自动导出合并线上dump文件,有需要可以开启。ReportController的test1方法可以配置时间, 线上集群的时候,我通过端口号来延迟不同时间段来dump,以免文件拉取冲突。

Versions

Version
0.8.4
0.0.2
0.0.1