2012-11-22 96 views
0

我在Weblogic中使用爆炸式耳朵部署佈局來開發應用程序,並且在向此舊應用程序添加新項目後,它將不再部署,嘗試從WEB/WEB-INF/classes加載實際應用程序代碼時的ClassNotFoundException。ClassNotFoundException在weblogic中的展開式耳朵中部署Spring上下文10.3.6

的目錄樹是這個樣子:

 
my_run 
    | 
    ---- EJB 
    | 
    ----META-INF 
    | 
    ----WEB 
      | 
      META-INF 
      | 
      WEB-INF 
       | 
       classes 
       | 
       lib 

之前,我就這樣開始了,我的同事們成功地與所有的WEB/WEB-INF/lib目錄中所需的jar庫部署,並複製到Weblogic域lib目錄。我認爲EJB導致了複雜性,因爲它是EJB2.0的遺留問題。

現在這樣做並不適用於我,並給我一個錯誤,即當我啓動服務器或只是應用程序時,Hibernate無法加載。然後我在Weblogic域lib中用Hibernate嘗試了它,然後Spring無法加載。

我已經花了整整8個小時今天googling這個問題,並閱讀和嘗試幾乎所有可以用Weblogic完成,包括weblogic jar prefs xml條目,這給了很奇怪的XML相關的類轉換問題。

我試着將它降低到基本的水平,並清空除了JDBC罐子和Weblogic安全等所需的東西之外的所有東西的weblogic域lib,但是我找不到解決方案。

我嘗試在application.xml中使用,沒有工作。

我試着把Class-Path條目放到MANIFEST.MF中,結果相同。

這當然不是那麼複雜?

我現在已經擁有了WEB-INF/lib目錄和Weblogic域庫中的所有必需jar,並且應用程序無法找到它自己的Hibernate pojos。

+0

通過「添加新項目」,你的意思是什麼? – home

+0

我從一個新項目中添加了一個jar,並對它進行了編碼 - 所以我無法刪除它以查看是否可以恢復到原始狀態。 – Adam

+0

地獄,沒有版本控制到位? – home

回答

1

我找不到答案,並將必要的JAR文件放在服務器的lib目錄(user_projects/domains/{mydomain}/lib/*。jar)中。它似乎工作,但它是一個修復kludge。 Couln't找不到更好的東西。

編輯:this question,我公佈了稍好雜牌,涉及在服務器啓動腳本中設置PRE_CLASSPATH。儘管如此,上面的解決方案在我的系統上還是有其他問題。