相同内容不同大小的jars文件java.lang.NoClassDefFoundError

相同内容不同大小的jars文件java.lang.NoClassDefFoundError,java,Java,我有两个同名的jar文件的问题。 commons-lang3-3.0.jar我有298kb和478kb大小 当使用更大的文件运行应用程序时,我得到了引用该jar文件的java.lang.NoClassDefFoundError。 使用较小的jar文件应用程序工作 我有调查和调查 打开罐子的包装,检查大小是否相同 比较内容-相同(清单文件、类文件等) 比较jar中类的字节码类版本-相同49(Java 5) 比较二进制jar,会有不同,但我不知道它是从哪里来的 我不知道发生了什么事?为什么相同的

我有两个同名的jar文件的问题。 commons-lang3-3.0.jar我有298kb478kb大小

当使用更大的文件运行应用程序时,我得到了引用该jar文件的java.lang.NoClassDefFoundError。 使用较小的jar文件应用程序工作

我有调查和调查

  • 打开罐子的包装,检查大小是否相同
  • 比较内容-相同(清单文件、类文件等)
  • 比较jar中类的字节码类版本-相同49(Java 5)
  • 比较二进制jar,会有不同,但我不知道它是从哪里来的
我不知道发生了什么事?为什么相同的内容不能在两种情况下都起作用

编辑

感谢pikrut和Tobías为我指出了解决方案。我已经清理了.m2目录并再次运行mvn clean install。 然后我得到了正确的commons-lang3-3.0.jar 298KB大小。 我再次在编辑模式下查看了错误的commons-lang3-3.0.jar。寻找某个类名字符串的出现,并注意到在更大的jar中有它的副本。 所以我假设错误的罐子复制了东西。有东西坏了


谢谢大家的帮助。

相同的内容不同的大小,这不太可能(但压缩也不是不可能),这只是相同的文件名。你应该得到一个干净的jar版本,其中一个可能是坏的。在你的调查中,是不是同样的项目,包名?如果您使用的是maven,请执行“干净安装”构建。正如@AxelH所指出的,它们不是同一个库。检查完整性,您可以在以下位置找到commons-lang3-3.0的md5或sha1:相同的内容不同的大小,这不太可能(但压缩时并非不可能),这只是相同的文件名。你应该得到一个干净的jar版本,其中一个可能是坏的。在你的调查中,是不是同样的项目,包名?如果您使用的是maven,请执行“干净安装”构建。正如@AxelH所指出的,它们不是同一个库。检查完整性,您可以在以下位置找到commons-lang3-3.0的md5或sha1: