2011-08-25 122 views
0

我正在將Oracle EE應用程序從Oracle 10g應用程序服務器移植到Oracle 11g Weblogic Server。Java EE應用程序移植 - Oracle 10g AS移植到Oracle 11g Weblogic服務器

我有一個common.jar,其中包含Connection相關的類並存在war/web-inf/lib中。該應用程序被部署爲EAR,ejbs還引用common.jar中的類來獲取數據庫連接。 EJB無法在運行時獲得對這些類的引用。我複製了APP-INF/lib目錄中的common.jar,在這種情況下,JSP會無法獲取對Connection相關類的引用。我有jsp的嵌入sql代碼。這個應用程序開發回來了,現在沒有商業知識改變這些代碼。

我該如何解決這個問題? ejb如何獲取war/web-inf/lib中的類的引用。

回答

0

您不能讓EJB查看類的WAR WEB-INF/lib。這與Weblogic的Classloader Hierarchy不符。

把在APP-INF/lib中常見的罐子去

的WebLogic Server,你可以 店共享實用工具類的EAR文件中提供了一個位置的正確方法。將實用程序JAR文件放置在 APP-INF/lib目錄中,並將各個類放在APP-INF /類 目錄中。 (不要將JAR文件放置在/ classes目錄或/ lib目錄中的 類中。)這些類將加載到應用程序的根類 類加載器中。

您還可以發佈JSPs在無法加載這些錯誤時得到的錯誤嗎?這些是ClassNotFoundException還是NoClassDefFoundError還是別的?

另請參閱Best practices for using Shared Java EE Libraries