1

如何在另一个 Web 项目中包含 WAR 文件?如果这是可能的,我们需要使用哪个上下文来命中 WAR 文件中的服务,我们需要在哪里放置(位置)WAR 文件?我告诉我的领导,根据我的理解,这是不可能的,因为服务器无法将请求根解析为放置在包装 Web 项目中的 WAR。如我错了请纠正我。示例 - 假设我们有两个 Web 项目 A 和 B。我想为项目 B 创建 WAR 并将其放置在项目 A 中。谢谢。

4

4 回答 4

1

我认为您不能在 WAR 中创建 WAR。

但是,您可以做的是为 WAR B 创建一个公开向 Web 公开的接口。

并使用该接口将信息从 A 传递到 B,反之亦然。

于 2013-06-28T04:29:59.747 回答
1

通常,war 文件不包含 war 文件。它们可以包含 jar 文件;这就是目录WEB-INF/lib的用途。如果您想将多个 Web 应用程序捆绑在一起,您可以创建一个 ear 文件并使用 Glassfish 或 JBoss 等应用程序服务器。EAR 文件对 Enterprise JavaBeans 也有另一种用途。

于 2013-06-28T04:31:52.663 回答
1

首先,让我们澄清几个可能的误解:

  • 将 WAR 文件放在另一个 WAR 文件中没有意义。Webapps 不包含其他 webapps。另一个文件中的 WAR 文件根本不起作用。

  • 如果一个 webapp 只需要使用另一个 webapp,则不需要在另一个项目中包含一个项目。它们可以是(并且可以说应该是)独立的项目。

但也许您实际上是在谈论构建一个 EAR 文件……它实际上是一个可部署的完整应用程序容器。这可以明智地包含多个 WAR 文件。但是我们需要知道你在谈论什么样的项目。它是 Eclipse 还是 Netbeans 项目?它是一个 Maven 模块吗?它是一个 Ant 项目吗?

于 2013-06-28T04:33:20.523 回答
1

正如其他人所说,战争不能包含其他战争。

但是,如果您使用的是 maven,那么您可以创建一个叠加层。这确实是一种将一场战争的内容爆炸到另一场战争的简单方法。由此产生的战争将有一个根源背景。如果目标是在多场战争中共享共同内容,那么这是一条不错的路线。

于 2013-06-28T15:09:05.423 回答