Java EE项目的体系结构

时间:2013-04-05 08:00:43

标签: java-ee architecture static war ear

我有一个带有EAR和4个WAR的Java EE项目。我有一些在战争中使用的pojos。它们是包含静态变量和方法的类,在WAR中应该是相同的。 他们应该放在哪里?

一些背景:我曾在其中一场战争中使用经常使用的pojos继承了这个项目。但是我希望所有4个WAR都引用一些新的静态访问类的相同实例。由于每个WAR似乎都采用静态类的自己的运行时实例,并且在一个WAR中更改类,因此不会导致在另一个WAR中更改类。< / p>

为了解决这个问题,我在JAR中安装并将其部署到服务器。但是现在每次部署项目时,如果JAR发生变化,JAR也必须在服务器上构建和安装。

在这里部署的人不喜欢这种架构,我想知道是否有另一种方法可以做到这一点?

1 个答案:

答案 0 :(得分:3)

是的,WAR文件将分别加载到他们自己的类加载器下,因此他们不会看到彼此的类。

您可以将JAR文件放在EAR的根目录中,并在每个WAR的Manifest中引用它。这些JAR有时称为“实用程序JAR”。

我同意这种自包含部署比在其他地方使用单独的JAR文件更可取。