Jacoco

什么是Jacoco?

Jacoco是一个开源的Java代码覆盖率工具,Jacoco可以嵌入到Ant 、Maven中,并提供了EclEmma Eclipse插件,也可以使用JavaAgent技术监控Java程序。很多第三方的工具提供了对Jacoco的集成,如sonar、Jenkins等。

软件安装

Ant

Jacoco 在官网上下载Jacoco,官网地址:http://www.eclemma.org/jacoco/

1. 在部署的tomcat服务中,/bin/catalina.sh中JAVA_OPTS参数值添加。

file:

-javaagent:/app/jacoco/jacocoagent.jar=destfile=/tmp/jacoco.exec,append=true,includes=*,output=file"

tcpserver:

-javaagent:/app/jacoco/jacocoagent.jar=includes=*,output=tcpserver,port=1111,,append=false,address=10.100.139.91

其中:/app/jacoco/jacocoagent.jar为安装jacoco的jacocoagent.jar包绝对路径;output覆盖率数据输出的形式,有file, tcpserver, tcpclient, 默认是file,file是在jvm停掉时才将覆盖率数据dump出来;address和port可以提供client访问,并dump出覆盖率数据文件, 在build.xml会使用。

如果用file的方式获得覆盖率的话,需要shutdown tomcat,执行./shutdown.sh ,如果不行的话,执行kill但是千万不能执行kill -9。执行完kill后,会把覆盖率dump到jacoco.exec

2. 启动tomcat服务,sh /bin/startup.sh

3. 编写build.xml

如果你的web工程里面还引入了别的工程,例如你现在tomcat所部署的war包只是web的入口,实际的逻辑,模型等都作为jar包放在这个工程的lib里面的时候,此时你又要统计这些逻辑模型的代码覆盖率,那么你需要做的是:1、把lib中你需要统计覆盖率的jar包解压出来;2、把jar包对应的源代码上传上去;3、build.xml中structure下面建立多个group,对应的源文件和类文件也要新增进去;

4. 在build.xml所在的目录执行下面命令t将会把报告输出到相应的目录下面

/app/export/servers/apache-ant-1.9.7/bin/ant dump

/app/export/servers/apache-ant-1.9.7/bin/ant report

为什么jar包代码与源代码不一致_Jacoco代码覆盖率工具相关推荐

  1. 日积月累:ProguardGui进行jar包代码混淆

    原文:http://blog.csdn.net/p106786860/article/details/12168703 前面文章<Proguard进行源代码混淆>讲解过怎么使用Progua ...

  2. maven如何实现创建带源代码的jar包

    实现目标 maven打包,在生成的jar包中带有源代码.记住,这个带源代码的意思是源代码跟编译生成的文件放在一个jar文件里面,而不是单独的一个XXX-source.jar包. 实现思想 把源代码当作 ...

  3. 【Eclipse的正确打开方式】从Libraries中的jar包到源代码和API连接

    Eclipse是一个通用型的开发环境,在学习过程中,对Eclipse配置原理的深入理解有助于我们更好的使用这个强大的开发工具. 一开始声明一下, JAVA安装路径:C:\Program Files\J ...

  4. 如何根据jar包的名称找到包含对应源代码的jar包

    我们经常在trouble shooting时,需要进入依赖的java库文件的源代码内进行调试,如下图所示,Eclipse提示需要指定包含了源代码的jar包:C:/temp/httpclient-4.5 ...

  5. eclipse导入jar包_在命令行上操作JAR,WAR和EAR

    eclipse导入jar包 尽管Java IDE和许多图形工具使查看和操作Java归档文件(JAR,WAR和EAR)文件的内容比以往更加容易,但有时我还是更喜欢使用命令行jar命令来完成这些任务. 当 ...

  6. android支持第三方jar包,以及Eclipse如何导入jar包

    2019独角兽企业重金招聘Python工程师标准>>> 通常我们进行android开发的时候运用到了两种格式的jar包文件. 1.在eclipse环境下,引入第三方jar包,指的是通 ...

  7. jar包的生成和使用简单例子

    一, 什么是jar包 java中, 源代码文件是*.java,   编译后就生成若干class文件.     这些class文件可以被各平台的jvm虚拟机执行. java还提供1个工具, 可以将这些c ...

  8. java excel 操作 jar包_[JAVA]使用POI向Excel中写入数据以及如何在Intellj IDEA中打jar包...

    freddon 发表于2018-05-30 阅读 1383 | 评论 0 给GF写的,现在记录下POI操作Excel读写过程;以及如何在Intellj IDEA中打jar包 代码如下: ``` imp ...

  9. Java web应用引用外部jar包 运行时报ClassNotFoundException 解决方法

    最近做了个封装接口SDK的项目,在做模拟程序调用SDK的jar时,运行时出现了ClassNotFoundException. 由于是多个组件的项目,我只在运用调用jar包代码的组件中引用jar包,试过 ...

  10. 月浅灯深,梦里jar包何处寻

    目录 同花顺 自己动手,丰衣足食 方法一:依赖引入(推荐) 方法二:maven仓库(呆瓜) 方法三:源代码打包(闲得慌) 方法四:网站下载(そうですね) 同花顺 首先,强烈谴责某些人,下载jar包,还 ...

最新文章

  1. 【干货】深度解析:在朋友圈转疯了的文章是如何打造的?
  2. DB2更改数据文件路径
  3. 关于cookie domain中的点前缀
  4. 交换机分布缓存_交换机网络嗅探方法 如何欺骗交换机缓存
  5. c语言删除双向链表重复元素,求一个双向链表的建立,插入删除的c语言程序完整版的,借鉴一下思想,再多说一下就是能运行的那种...
  6. 从渲染页面的角度来聊一聊浏览器的工作原理
  7. c语言编写考试程序,c语言考试编写三个程序:1.从键盘输入一些字符,逐个把它们送到磁? 爱问知识人...
  8. MyBatis复习(五):获取多表关联查询结果
  9. Spring Security 基于数据库的认证
  10. SWUST OJ(953)
  11. 使用 Kotlin , Groovy ,Java 开发一个自己的 Gradle 插件
  12. c语言儿童教学_五岁儿童的自然语言处理
  13. kaggle无法注册(含解决方案)
  14. 用量子物理学原理解释为什么振金可以吸收能量(论发散思维的重要性)
  15. python中sqrt_Python中sqrt函数怎么用
  16. tumblr图片批量下载
  17. excel批量生成批处理语句另存为.bat文件批量改名
  18. java中osend_Java中OIO与NIO的简单区别
  19. 国产电子书的代表作是什么样的?
  20. Android自定义控件——模拟抛体加速减速效果

热门文章

  1. 单元测试框架TestableMock快速入门(七):常用注解参数
  2. Ubuntu 16.10(x86) Install WordPress SRV 4.7.1-1-5
  3. selenium获取新页面标签页(只弹出一个新页面的切换)
  4. 一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](十一)
  5. jqgrid 行选中multiboxonly属性说明
  6. CentOS搭建git服务器实测
  7. 中国孩子的micro:bit:TurnipBit自制小乐器教程实例
  8. Selector.wakeup实现注记
  9. 很喜欢博客园这个平台
  10. cocos2d-x之物理世界(创建物理世界)