我在Tomcat上部署了一个Web应用程序。在我进一步了解详细信息之前,请先详细说明。
版本:jdk 1.7,Tomcat - 7.0.19,jacoco -0.5.6
我已将jdk1.7添加到Tomcat。在我添加的\ apache-tomcat-7.0.19 \ bin \ startup.bat文件中。
SET JAVA_HOME=C:\ProgramFiles\Java\jdk1.7.0
此外,我已将jacoco代理添加到Tomcat。在apache-tomcat-7.0.19 \ bin \ catalina.bat中我添加了。
SET JACOCO=-javaagent:<my download folder>\jacoco-0.5.6.201201232323\lib\jacocoagent.jar=destfile=C:\jacoco.exec,append=true,includes=*
set JAVA_OPTS=%JAVA_OPTS% %JACOCO%
现在,当我启动Tomcat并点击我的Web应用程序时,正如预期的那样,有一个C:\ jacoco.exec文件。
我现在已将代码移动到以下目录结构 jacoco.exec /斌/ / coveragereport
现在我使用了来自http://www.eclemma.org/jacoco/trunk/doc/examples/java/ReportGenerator.java的类ReportGenerator。我在/ coveragereport目录中收到了大量HTML格式的报告。但是,所有代码都显示为未触及。虽然在我启动Tomcat之后,我已经去了http://localhost:/并浏览了周围。我希望得到覆盖百分比报告。
我遗漏了一些非常基本的东西。请帮忙。
答案 0 :(得分:8)
Tomcat将在关机时写入Jacoco文件。
答案 1 :(得分:5)
或者,您可以使用ant dump task:
jacoco:dump address="server.example.com" reset="true" destfile="remote.exec"/>
但为了实现这一目标,您必须为java agent指定output mode tcpserver
。
-javaagent:[yourpath/]jacocoagent.jar=output=tcpserver,address=<host>,port=<port>,...
答案 2 :(得分:1)
6300是提供的默认端口。您可以更改端口,也可以查找可以使用netstat -an | grep "LISTEN"