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

尝试JCov java coverage实用程序时遇到错误,java,code-coverage,test-coverage,Java,Code Coverage,Test Coverage,互联网上几乎所有地方都有以下基本步骤: •像往常一样编译java文件 javac <source-files> •创建一份报告 java -jar jcov.jar RepGen <jcov xml file> demo ) 有人能帮我一下吗?或者告诉我一些我能理解的网页吗?您还需要提供jcov.jar文件,因为它包含com/sun/tdk/jcov/runtime/Collect类 要在运行时提供jcov.jar,请运行以下命令 java-cp.:$JCOV/

互联网上几乎所有地方都有以下基本步骤:

•像往常一样编译java文件

 javac <source-files>
•创建一份报告

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


有人能帮我一下吗?或者告诉我一些我能理解的网页吗?

您还需要提供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使用它解决了所面临的问题,这要感谢sumedh的回答,它促使我理解各种类型的类路径。 正在执行插入指令的jar:

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

它确实帮助我成功地执行了jar,但它并没有实现它的真正目的。它应该生成一个只能用jcov_file_saver.jar实现的文件。我还检查了这个jar中是否有指定的类,所以,我在bootclasspath中指定了它,它就工作了。你能解释一下为什么它现在工作而不是以前吗?它现在工作的原因是因为它需要收集类,这个类在jcov.jar中,是你随Xbootclasspath提供的。由于您最初的错误已解决,您能否将此问题标记为已回答。为其他查询打开一个新问题。很抱歉,这个问题没有得到解决,但我必须在bootclasspath中传递“jcov_file_saver.jar”才能正常工作。
 java -jar jcov.jar RepGen <jcov xml file> demo 
$ 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
java -cp . -Xbootclasspath/a:$JCOV/jcov_file_saver.jar -jar BubbleSort.jar