繁体   English   中英

NoClassDefFoundError:…由ClassNotFoundException引起

[英]NoClassDefFoundError: … Caused by ClassNotFoundException

我有另一组人(目前不可用)编写的一些简单代码,这些代码引用了我得到的一些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());
    }

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM