2017-05-09 140 views
0
  1. 應用是EAR文件
  2. 共享庫,其中第三方罐子被捆綁並部署到管理服務器共享庫。
  3. weblogic-application.xml文件,其中引用了共享庫的庫已存在於EAR文件(META-INF文件夾)中。
  4. 共享庫作爲目標部署到託管服務器,並且成功。
  5. 在部署EAR文件時,即使引用是在weblogic-application.xml中進行的,從控制檯部署中選擇EAR會導致共享庫中存在的類的ClassNotFoundException。
  6. 請注意,如果庫部署針對的是管理服務器和受管服務器,則EAR文件的部署無任何例外情況下都是成功的。
  7. 對於相同的設置,單一管理服務器部署工作正常,沒有任何問題。
  8. 部署期望在部署到受管服務器時JAR是管理服務器的類路徑。這是一種預期的行爲?

有沒有我們在這裏丟失的設置配置?如果出現任何問題,請糾正我的問題。 更新:我們使用wldeploy對ant腳本進行了相同的部署,並且沒有遇到任何錯誤,並且應用程序已成功部署。的Weblogic 12C部署共享庫不挑,同時部署到管理服務器

+1

您的設置是在一個單一的服務器域正常工作的事實使得難以作出任何推論。您是否確定您的部署遵循此鏈接底部的Oracle建議的最佳實踐? [使用共享Java EE庫的最佳實踐](https://docs.oracle.com/cd/E24329_01/web.1211/e24368/libraries.htm) – VivekRatanSinha

+0

陳述顯而易見:確保共享庫和應用程序的目標是相同的託管服務器,否則應用程序將不會部署。 – VivekRatanSinha

+0

@VivekRatanSinha:感謝您的評論。共享庫和應用程序僅部署在受管服務器中。遵循建議的鏈接最佳實踐。問題是爲什麼在部署過程中強制共享庫存在於管理員服務器中,並添加我使用wldeploy做了與ant腳本相同的部署,並且沒有遇到任何錯誤,仍然正常工作。我關心的是爲什麼在控制檯中不以相同的方式部署 – shashi27

回答

0

這是以前版本weblogic中的一個已知問題。也許它仍然不固定。

CR282367

在使用WebLogic管理控制檯與已部署的依賴部署庫受管服務器上的應用程序或EJB,你可能會遇到java.lang.NoClassDefFoundError

解決方法: 的WebLogic Server管理控制檯需要訪問任何共享庫部署,以便可以處理Java數據類型和註釋。因此,除了任何託管服務器或集羣之外,所有共享庫部署應始終針對管理服務器。

https://docs.oracle.com/cd/E11035_01/wls100/issues/known_resolved.html