Java NoClassDefFoundError:。。。由ClassNotFoundException引起

Java NoClassDefFoundError:。。。由ClassNotFoundException引起,java,exception,noclassdeffounderror,Java,Exception,Noclassdeffounderror,我有一些由另一组人编写的简单代码(目前还没有),这些代码引用了我收到的一些jar文件。当我编译代码时,一切都很好,但是一旦代码试图创建一个jar文件中定义的类的实例,我就会得到一个java.lang.NoClassDefFoundError。我对这个问题做了大量的研究,所有这些都指向了运行时我的类路径的一个问题。然而,当我在运行时打印类路径时,我看到了所有的jar文件,它们似乎有正确的路径。运行时类路径似乎也与编译时类路径匹配,因此这似乎不是问题所在 我应该提到的一点是:我使用的是JDK1.8,

我有一些由另一组人编写的简单代码(目前还没有),这些代码引用了我收到的一些jar文件。当我编译代码时,一切都很好,但是一旦代码试图创建一个jar文件中定义的类的实例,我就会得到一个java.lang.NoClassDefFoundError。我对这个问题做了大量的研究,所有这些都指向了运行时我的类路径的一个问题。然而,当我在运行时打印类路径时,我看到了所有的jar文件,它们似乎有正确的路径。运行时类路径似乎也与编译时类路径匹配,因此这似乎不是问题所在

我应该提到的一点是:我使用的是JDK1.8,而我相信这些jar文件是使用JDK1.7创建的。我看到的其他解决方案都没有提到这一点,但这有可能是版本兼容性问题吗?我还没有能够通过一个经过批准的方法获得JDK1.7,但是如果我能令人信服地证明这将解决我的问题,我可能能够获得批准安装的旧版本

如果它不可能是一个版本问题,我应该从这里去哪里?我找到的每一个答案似乎都不适用于我的情况,但如果你能指出一个我可能错过的答案或有一个解决方案,我将非常感激。NetBeans特定的答案很有帮助,但不是必需的。谢谢

编辑:作为参考,这里是我用来在运行时打印类路径的代码:

    ClassLoader cl = ClassLoader.getSystemClassLoader();

    URL[] urls = ((URLClassLoader)cl).getURLs();

    for(URL url: urls){
        System.out.println(url.getFile());
    }

请确保编译时代码和运行时代码使用的jar文件版本相同。如果存在jar版本冲突,您可能会遇到上述问题

请确保编译时代码和运行时代码使用的jar文件版本相同。如果存在jar版本冲突,您可能会遇到上述问题

缺少的类是什么,以及如何“打印类路径”?请参阅主问题中的编辑,了解我用于打印类路径的代码。缺少的类是第三方提供的jar文件的一部分。我以前遇到过这个问题,这是由于静态初始值设定项中出现了一些异常--您可以看到一些示例@--编辑:这是可能的原因之一请尽可能共享整个stacktrace。这是一个CLI程序还是在某种容器中运行?缺少什么类,以及如何“打印类路径”?有关我用于打印类路径的代码,请参见主问题中的编辑。缺少的类是第三方提供的jar文件的一部分。我以前遇到过这种情况,这是由于静态初始值设定项中出现了一些异常--您可以看到一些示例@--编辑:这是可能的原因之一请尽可能共享整个stacktrace。这是CLI程序还是在某种容器中运行?