2013-06-28 90 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。這是一個簡單的方法,可以將一場戰爭的內容爆炸爲另一場戰爭。由此產生的戰爭將有一個根上下文。如果目標是跨多場戰爭分享共同內容,那麼這是一條很好的路線。

相關問題