2012-09-10 31 views
0

我正在將本地Web應用程序部署到本地主機上的Weblogic 10.3.6,並且所有內容都按其應有的方式工作。但是,當我把它部署到同一版本的WebLogic這是一個遠程服務器上運行過程中出現的,它拋出這樣的:Weblogic jdom NoClassDefFoundException

JDOMException: java.lang.NoClassDefFoundError: org/jdom/Parent: org/jdom/Parent

的應用是裝在一個戰爭文件,和我同一個文件上傳到兩個服務器,但它只適用於我本地的weblogic。 Jdom.jar位於WEB-ING/lib中。我在遠程weblogic的安裝目錄中搜索了jdom.jar,並且沒有其他實例。

+1

我希望您的意思是WEB-INF/lib。這兩種說法之一是不正確的:當你在本地運行時,所有的都不好,因爲你做了一些與服務器不同的東西來掩蓋問題,或者你錯過了服務器上的JDOM。 – duffymo

+0

是的,當然它的WEB-INF。 – user1660008

回答

1

可能的類加載衝突問題,請嘗試配置WEB-INF \ weblogic.xml中

<container-descriptor> 
       <prefer-web-inf-classes>true</prefer-web-inf-classes> 
</container-descriptor> 

prefer-web-inf-classes

元素,如果設置爲true,將導致位於WEB-INF目錄中的類要加載的Web應用程序優先於應用程序或系統類加載器中加載的類。默認值是false。在控制檯中指定的值將優先於手動設置的值

2

NoClassDefFoundError表示找不到org.jdom.Parent所需的班級,而不是org.jdom.Parent本身。 WEB-INF/lib文件夾中缺少一些依賴項。

如果您使用maven構建它,請確保包含所有必需的可選庫。

+0

那麼jdom需要其他庫嗎?林不使用maven – user1660008

+0

不幸的是,我無法找到它依賴於。你有沒有嘗試特德的答案?如果找不到所需的類,則可能是因爲類加載衝突。 – gigadot