在Tomcat中的war文件之间共享Java类?

时间:2011-07-24 15:46:03

标签: tomcat java-ee war ear

我使用Tomcat 7作为servlet容器,我有两个war文件(Eclipse中的两个项目)。问题是,我想在两个已部署的war文件之间共享类。 但就我所知,Tomcat / Servlet规范是不可能的。两个部署的Web应用程序似乎彼此隔离。

所以我从JBoss那里读到了一个新手,作为一个应用服务器,我可以在其中部署ear文件(所以我可以将多个war文件放入其中)然后我可以在它们之间共享类?

所以我的问题:你是否同意我的陈述,是否可以用JBoss做到这一点?我是否必须进行更改,或者我可以轻松地将其放入ear文件中并使用JBoss进行部署并且它可以工作吗?

最诚挚的问候,蒂姆。

1 个答案:

答案 0 :(得分:3)

有两个简单的选择。两者都要求您在单独的项目(JAR)中定义共享类,我们称之为 SHARED 。现在,在部署方面,您有两个选择:

  1. SHARED.jar 复制到Tomcat的lib文件夹中,您就完成了。
  2. 在WebApp中引用 SHARED.jar ,从eclipse导出WAR时,工具将创建一个JAR,将其放在WebApp的WEB-INF / lib文件夹中,并创建WAR(参见屏幕截图)
  3. 如果选择#1选项,请务必了解WebApp类加载器(Tomcat系统类加载器)之间共享相同的类,因此只有在要在不同WebApp之间共享状态时才能使用此选项(例如,单身人士)。

    BTW:屏幕截图是使用Eclipse 3.6 + WTP ...

    制作的

    enter image description here