使用 JaCoCo 实时检测在 Tomcat 下运行的 Grails Web 应用程序

问题描述 投票:0回答:1

我们尝试使用 JaCoCo (0.8.12) 收集针对 Java11 编译并在 Tomcat (9.0.88) 下运行的 Grails (5.3.3) Web 应用程序中的代码覆盖率信息。

按照JaCoCo的说明,我尝试将Java代理添加到setenv.sh和catalina.sh文件中的JAVA_OPTS和CATALINA_OPTS中。我获得的最多信息是一些 apache 类。我们的网络应用程序根本没有课程。

为了启用 JaCoCo 实时检测,我们使用以下命令之一:

 export JAVA_OPTS="$JAVA_OPTS -javaagent:/root/jacocoagent.jar=destfile=/root/jacoco.exec,append=true"

export CATALINA_OPTS="$CATALINA_OPTS -javaagent:/root/jacocoagent.jar=destfile=/root/jacoco.exec,append=true"

它们都不会生成有关我们网络应用程序的覆盖信息。

我们应该做什么?

tomcat groovy grails jacoco
1个回答
0
投票

Tomcat 似乎在 JaCoCo 代理有机会下载结果之前就杀死了 JVM。 为了避免这种情况并获取整个报告,可以使用命令行界面:

java -jar <jacococli> dump --port <port> --destfile <dump-file>

附加可选参数

--reset
将在转储报告后清空内部数据。

© www.soinside.com 2019 - 2024. All rights reserved.