2013-06-28 95 views
1

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

回答

1

首先,让我们明确了几个可能的误解:

  • 把一个WAR文件内的另一个WAR文件是没有意义的。 Webapps不包含其他webapps。另一个WAR文件根本无法工作。

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

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

+0

我同意你的意见。这对我没有任何意义。我问过的问题打败了网络应用的概念。但我想与某人确认。我们使用ANT来建设项目。是的,可以将它们放在EAR文件中。 – AVVD

0

我不认为你可以在WAR中创建一个WAR。

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

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

+0

我只是想验证。谢谢。 – AVVD

1

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

+0

同意。只是为了验证我已经问过这个问题。谢谢。我们使用日食。是的,它可能与EAR文件。 – AVVD

0

像其他人一样,战争不能包含其他战争。

但是,如果您使用的是maven,那么您可以创建一个overlay。这是一个简单的方法,可以将一场战争的内容爆炸为另一场战争。由此产生的战争将有一个根上下文。如果目标是跨多场战争分享共同内容,那么这是一条很好的路线。

相关问题