尝试JCov java coverage实用程序时遇到错误

时间:2016-12-20 12:25:28

标签: java code-coverage test-coverage

INTERNET几乎无处不在,有以下基本步骤:

•照常编译java文件

 javac <source-files>

•“仪器”字节代码

 java -jar jcov.jar Instr <application classes> 

•运行代码

 java -classpath ...:jcov_file_saver.jar ... 

•创建报告

 java -jar jcov.jar RepGen <jcov xml file> demo 

我能够检测类文件和jar文件,但无法运行jar。

面对此错误:

$ java -cp .:$JCOV/jcov_file_saver.jar -jar BubbleSort.jar
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/tdk/jcov/runtime/Collect
    at BubbleSort.main(BubbleSort.java:49)
Caused by: java.lang.ClassNotFoundException: com.sun.tdk.jcov.runtime.Collect
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 1 more

任何人都可以帮助我或指导我访问一些我能理解的网页吗?

2 个答案:

答案 0 :(得分:0)

您还需要提供jcov.jar文件,因为它包含com / sun / tdk / jcov / runtime / Collect类。

要在运行时提供jcov.jar,请运行此

java -cp。:$ JCOV / jcov_file_saver.jar -Xbootclasspath / a:$ JCOV / jcov.jar -jar BubbleSort.jar

答案 1 :(得分:0)

使用这个解决了问题,感谢sumedh的回答,这让我了解了各种类路径。 执行检测jar:

java -cp . -Xbootclasspath/a:$JCOV/jcov_file_saver.jar -jar BubbleSort.jar