引起:java.lang.ClassNotFoundException:net.sourceforge.cobertura.coveragedata.HasBeenInstrumented

Tej*_*jas 5 java cobertura

我们已经安装了我们的应用程序版本(在生成应用程序包之前没有包含任何工具或cobertura jar).

安装完成后,我们使用cobertura对所有jar进行了检测,并在java classpath中包含了cobertura jar文件.但在启动应用程序时它会给出以下错误.

任何输入都会有所帮助,谢谢.

Java版"1.7.0_25"
cobertura ver 1.9.4.1

Exception in thread "main" java.lang.NoClassDefFoundError: net/sourceforge/cobertura/coveragedata/HasBeenInstrumented
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: net.sourceforge.cobertura.coveragedata.HasBeenInstrumented
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 13 more
Run Code Online (Sandbox Code Playgroud)

Ant*_*nev 2

您应该使用 -Xbootclasspath 将 cobetura.jar 添加到引导类。更多信息:https://docs.oracle.com/javase/8/docs/technotes/tools/findingclasses.html 需要执行此操作才能加载 cobetura 类,这是加载应用程序类所必需的。