2013-04-05 99 views
1

我有一個帶有EAR和4個WAR的Java EE項目。我有一些在戰爭中使用的pojos。它們是包含靜態變量和方法的類,並且應該在WAR中相同。 他們應該放在哪裏?Java EE項目的體系結構

一些背景:我在一場戰爭中繼承了經常使用的pojos項目。不過,我希望所有4個WAR都引用一些新的靜態訪問類的相同實例。這是不可能的,因爲每個WAR看起來都是它自己的靜態類的運行時實例,並且在一個WAR中更改類,並不會導致另一個WAR中的類發生更改。

因此,爲了解決這個問題,我安裝在JAR中並將其部署到服務器。但是現在每次部署項目時,如果JAR發生更改,還必須在服務器上構建和安裝JAR。

在這裏部署的人不喜歡這個架構,我想知道是否有另一種方法來做到這一點?

回答

3

是的,每個WAR文件都將被加載到它們自己的類加載器中,因此它們不會看到對方的類。

您可以在EAR的根目錄中放置JAR文件,並在每個WAR的清單中引用它。這些JAR有時稱爲「實用JAR」。

我同意這種自包含的部署優於其他地方有獨立的JAR文件。