java - Jacoco 代理 - Spring Boot 应用程序的空执行文件

标签 java docker spring-boot jacoco

我试图收集我的 springboot 应用程序在 docker 容器中运行时的代码覆盖率。在docker容器中,运行如下。

java -javaagent:jacocoagent.jar=destfile=integrationTest.exec -Xms256m -Xmx512m -jar myApp.jar

然后我运行一些连接到 springboot 应用程序中运行的 Web 服务的测试。测试完成后,integrationTest.exec 存在但为空。我需要采取额外的步骤吗?当docker容器停止时,是否创建转储?

谢谢, 格雷格

最佳答案

默认情况下,Jacoco 代理将在应用程序退出时进行转储。(必须正常停止)。如果您只是终止该进程,它可能不会转储。在停止或终止容器之前,您可以采用另一种方法进行转储。您可以打开JMX连接,然后在进程上远程执行dump。

有关更多详细信息,请查看以下链接: http://www.eclemma.org/jacoco/trunk/doc/agent.html Jacoco jmx dump, Connection reset error https://github.com/jacoco/jacoco/blob/master/org.jacoco.examples/src/org/jacoco/examples/MBeanClient.java

关于java - Jacoco 代理 - Spring Boot 应用程序的空执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48913515/

相关文章:

JavaFX + openjdk-10-jdk

node.js - 在 docker 容器中自动获取主机名的方法

maven - Dart 与 Maven(在 Spring Boot 应用程序中)

java - 无法理解如何创建链表数组

node.js - 在Alpine Linux上安装Node.js 10 + NPM

java - 如何在列表中存储结果集并在 HQL 语句中迭代具有实体属性的列表?

java - 限制 Docker 容器中的 JVM 内存消耗

java - Spring Boot Lombok 可嵌入主键日期

java - 类平均方法和数组

java - 有效地检查子字符串并替换它们 - 我可以在这里提高性能吗?