2012-04-02 33 views
2

我已經創建了一個數據訪問層,它負責使用普通SQL查詢從數據庫檢索數據。我的tomcat包含兩個Web項目。這兩個項目都包含相同的數據訪問層副本。我可以將數據訪問層作爲JAR文件放在tomcat/shared lib目錄中嗎?

網絡PROJECT1(WP1)
      | ----數據訪問層

網絡Project2的(WP2)
      | ----數據訪問層

我想從Web項目分離數據訪問層,所以我不需要維護多個副本。

WP1-WP2
  |                         |
DataAccess層

將數據訪問層設置爲JAR文件並將其放入Tomcat共享lib文件夾中是否是最佳實踐?

感謝, MFH

+0

我會這樣做你的方式 – hvgotcodes 2012-04-02 20:01:56

+0

當然。 (重複http://stackoverflow.com/questions/267953/managing-libraries-in-tomcat) – Luca 2012-04-02 20:07:56

+0

這將工作 – 2012-04-02 20:28:00

回答

0

我不會說這樣做是危險的,但我絕對不會考慮此方案作爲一個「最佳實踐」:在所有的Web應用程序將增加的概率共享庫他們中的一個會遇到類路徑衝突。

例如,假設您部署了另一個Web應用程序(在知道或不知道的情況下)使用了一個重複的類(幾個具有相同完全限定名的類),假設之前已加載共享庫特定於應用程序的庫,最終可能會使用另一個類,而不是預期的類。在最好的情況下,你會很容易弄清楚,但仍然會讓你放鬆一些時間。在最糟糕的情況下,您的應用程序不會按預期運行。根據我個人的經驗,我已經看到過這種情況:有些應用程序指的是共享的lib-1.0.jar,而其他一些應用程序則使用特定於應用程序的lib-2.0.jar進化)。

另外,就你而言,它不會造成維護破壞:只需從兩個Web應用程序中調整部署過程,將相關庫添加爲依賴項(如果您使用的是Maven或Ant等工具, 很簡單的)。

相關問題