Web应用程序中依赖项类的NoClassDefFoundError

时间:2013-05-05 08:57:11

标签: java java-ee maven maven-3 noclassdeffounderror

我有一个Web应用程序A,它依赖于库B,而库B又使用库C. A,B和C都是Maven项目(A是war,B和C是{{ 1}} S)。

当我将A部署到应用程序容器时,会调用B中某个类的某个方法,该方法引用库C中的D类。

此时,我获得{D}使用(导入)包jarNoClassDefFoundError的{​​{1}}。

我探索了以下假设,但没有一个是真的:

  1. 使用了不同版本的C. 为了排除这个假设,我在A目录中运行了java.sql,我发现只有一个对C的引用。
  2. C未包含在A的org.slf4j文件中。我打开了文件mvn dependency:tree,D的类文件出现在正确的位置(即此假设)是不正确的。)
  3. 如何解决此错误?

1 个答案:

答案 0 :(得分:0)

问题是由于库B被ProGuard混淆了。在我禁用其混淆后,一切都开始起作用。