2013-05-05 76 views
1

我有一個Web應用程序A,它依賴於庫B,而庫B依次使用庫C.A,B和C都是Maven項目(A是war,B和C是jar s)。NoClassDefFoundError在Web應用程序中的依賴關係

當我部署到應用程序的容器中,在B中的類的一些方法被調用時,其是指d類在庫C.

在這一點,我得到爲D. d使用NoClassDefFoundError(進口)包裝java.sqlorg.slf4j

我探討以下假設他們都不是真實的:使用

  1. 不同版本的C。爲了排除這種假設,我在A的目錄跑mvn dependency:tree,我發現只有一個引用C.不包括在war文件A.我打開文件target\A.war\WEB-INF\lib\C.jar\和類文件
  2. Ç的D出現在正確的位置(即這個假設是不正確的)。

我怎樣才能解決這個問題?

+0

如果該類d是在罐子C,但不打包成war文件,你必須在你的戰爭項目依賴的問題。只需顯示所有的pom文件,這樣就可以提供幫助。 – khmarbaise 2013-05-05 09:00:58

+0

@khmarbaise D **被打包成戰爭文件。 – 2013-05-05 09:03:12

+0

請顯示pom文件! – khmarbaise 2013-05-05 09:09:40

回答

0

問題是由一個事實,即庫B與ProGuard混淆所致。在我禁用了混淆之後,一切都開始奏效。

相關問題