我正在使用Spring Boot使用java8启动RMI服务器应用程序。在极少数情况下:
由于这个问题非常非常罕见,我无法重现。
您将如何继续发现问题?
是否可以获得有关NoClassDefFoundError真正原因的更多信息?
答案 0 :(得分:0)
NoClassDefFoundError
发生在编译期间存在该类时,因此该程序成功编译但由于任何原因在运行时不可用。
在 J2EE环境中,即使存在该类,也可能会得到NoClassDefFoundError
,因为相应的类加载器可能看不到该类。
由于问题是在运行时类文件在类路径中不可用,因此确实很难诊断和解决此问题。但是您可以尝试使用这些方法来避免此问题。
答案 1 :(得分:0)
java.lang.NoClassDefFoundError:
表示在classpath中找不到您要运行的类。
您需要将包含此类的类或.jar文件添加到java类路径中。
当编译器可以成功编译类但Java运行时无法找到类文件时,将发生错误。通常在执行静态块或初始化类的静态字段时发生异常时发生,因此类初始化失败。
修复: 1.确保在类路径中是否有包含该类的类或jar。
2.classpath,那么很可能是classpath被覆盖
3。如果应用程序使用多个类加载器,则由一个类加载器加载的类可能无法由其他类加载器提供。