Jacoco在命令行中报告

我必须写一个.sh启动一个覆盖Jacoco的UI应用程序。 退出时,必须生成jacoco报告。

我无法使用这个简单的命令生成jacoco.exec:

java -jar ../binaries/editor.debug/application.jar -javaagent:/atgl/products/jacoco/0.6.3/lib/jacocoagent.jar=destfile=jacoco.exec 

命令的第一部分工作正常并启动程序,但-javaagent选项不生成报告,程序不启动。 如果我做了语法错误,它的行为完全相同。

我的命令出了什么问题?

其次,此命令创建.exec文件。 如何在命令行中生成.html报告?

JaCoCo的使用涉及两个步骤 – 收集覆盖信息和生成报告。 所以你的命令没有错 – 它将覆盖信息收集到.exec文件中。 在此之后,您可以使用Ant或Maven生成报告,或使用JaCoCo API构建您自己的报告生成器 – JaCoCo尚未提供用于生成报告的开箱即用的命令行界面,但是有一个API使用示例报告生成 。

问题是-javaagent选项的位置。 它需要处于第一位置,如下所示:

 java -javaagent:/atgl/products/jacoco/0.6.3/lib/jacocoagent.jar=destfile=jacoco.exec -jar ../binaries/editor.debug/application.jar 

然后正如Godin所说,在命令行中生成报告是不可能的。 我创建了一个带有规则do_jacoco_reports的ant文件exectoreport.xml 。 该规则由脚本exectoreport.sh启动,该脚本必须在应用程序自然退出后调用。

通过使用jacoco 0.7.9版本的jacococli.jar,现在可以使用命令行生成报告。 我正在尝试相同的,并能够使用命令行生成报告。 如果能够成功生成jacoco.exec文件,请使用以下命令生成报告。

 java -jar "your local path/jacococli.jar" report "your local path/jacoco.exec" --classfiles "project path to class files" --html "local path\jacoco-report" --name myReport --sourcefiles "project path\src\main\java" 

您应该能够以html格式查看报告。 参考[ http://www.jacoco.org/jacoco/trunk/doc/cli.html%5D