为什么我会在Java中收到NoClassDefFoundError?
时间:2020-03-05 18:44:58 来源:igfitidea点击:
运行Java应用程序时出现" NoClassDefFoundError"错误。通常是什么原因造成的?
解决方案
回答
这是由于存在代码所依赖的类文件,并且该类文件在编译时存在而在运行时未找到。在构建时间和运行时类路径中寻找差异。
回答
我发现有时使用在运行时发现的类的不兼容版本编译代码时,有时会出现NoClassDefFound错误。我记得的特定实例与apache轴库有关。我的运行时类路径上实际上有2个版本,并且它选择了过时且不兼容的版本,而不是正确的版本,从而导致NoClassDefFound错误。这是在命令行应用程序中,我在其中使用与此类似的命令。
set classpath=%classpath%;axis.jar
我能够通过使用以下命令获取正确的版本:
set classpath=axis.jar;%classpath%;