NoClassDefFoundError:...由ClassNotFoundException

时间:2019-05-14 23:43:47

标签: java exception noclassdeffounderror

我有另一组人(目前不可用)编写的一些简单代码,这些代码引用了我得到的一些jar文件。当我编译代码时,一切都构建良好,但是一旦代码尝试创建在一个jar文件中定义的类的实例,我就会得到java.lang.NoClassDefFoundError。我针对此问题进行了大量研究,所有结果都表明在运行时我的类路径存在问题。但是,当我在运行时打印类路径时,我看到了所有的jar文件,它们似乎具有正确的路径。运行时类路径似乎也与编译时类路径匹配,因此这似乎不是问题。

我应该提到的一件事:我正在使用JDK 1.8,而我相信这些jar文件是使用JDK 1.7创建的。我看到的其他解决方案都没有提到这一点,但是是否有可能是版本兼容性问题?我还无法通过批准的方法获得JDK 1.7,但是如果我能令人信服地证明这可以解决我的问题,则可以使旧版本获得批准以进行安装。

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

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

    ClassLoader cl = ClassLoader.getSystemClassLoader();

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

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

1 个答案:

答案 0 :(得分:0)

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