2013-04-25 91 views
5

我們最近切換到Glassfish 3.1.2.2並將幾個Web應用程序打包爲war文件。有時這些應用程序所需的上下文根不同於文件名。在GlassFish 3中使用來自glassfish-web.xml的context-root

返回時,我們使用的Weblogic,我們通過聲明上下文根在weblogic.xml這樣

<context-root>path/to/our/App</context-root> 

我們注意到,相同的標籤在GlassFish-web.xml中存在實現這一點。但無論我們在那裏定義什麼,服務器總是將文件名確定爲上下文根。

現在我們在asadmin實用程序中找到選項--contextroot,它允許我們在部署時覆蓋文件名,但是我們希望直接在存檔本身中進行定義,以便任何人將其部署到end不需要知道所需的字根。

有什麼辦法可以達到這個目的嗎?

回答

4

通常這應該與glassfish-web.xml看起來像這樣的工作:

<!DOCTYPE glassfish-web-app PUBLIC 
    "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" 
    "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd"> 
<glassfish-web-app> 
    <context-root>/path/to/App</context-root> 
</glassfish-web-app> 

但在這裏它看起來像你需要一個叫做sun-web.xml您的任務文件。

下面是一個例子:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE sun-web-app PUBLIC 
    "-//Sun Microsystems, Inc.//DTD GlassFish Application Server 3.0 Servlet 3.0//EN" 
    "http://www.sun.com/software/appserver/dtds/sun-web-app_3_0-0.dtd"> 
<sun-web-app error-url=""> 
    <context-root>/path/to/our/App</context-root> 
</sun-web-app> 
+0

我們確實有這個標籤集(儘管在glassfish-web.xml中,因爲該文件已經在GF 3.1中重命名),但沒有注意到我們在我們的Maven配置中重寫了文件名被顯式傳遞作爲上下文根,覆蓋glassfish-web.xml中的定義。您當然是正確的:) – Markus 2013-04-26 05:55:41

+1

即使我同時配置了glassfish-web.xml和sun-web.xml,它也沒有爲我使用glassfish 3.1.2.2使用java ee war部署。只有asadmin部署參數--contextroot = /幫助。但我期待爲此主題找到正確的配置。 – 2013-12-28 10:49:01

+0

我做了一些更多的實驗,最後解決方案是修改glassfish-web.xml。如果我僅將context-root參數添加到glassfish-web.xml而不是sun-web.xml,則結果是預期的結果。 – 2013-12-29 08:09:15

10

GlassFish中3和GlassFish 4的web應用程序的配置是通過glassfish-web.xml完成。你的情況需要的配置文件是這樣的:

<!DOCTYPE glassfish-web-app PUBLIC 
    "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" 
    "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd"> 
<glassfish-web-app> 
    <context-root>/path/to/our/App</context-root> 
</glassfish-web-app> 

你可以找到的Oracle GlassFish應用服務器應用程序部署的部分GlassFish應用服務器部署描述符文件指南進一步的細節。本文檔的在線版本可在http://docs.oracle.com/cd/E18930_01/html/821-2417/找到。

+2

是的,我有類似的問題。 'sun-web.xml'對上下文根沒有影響。我改爲使用'glassfish-web.xml'。有用。 – smwikipedia 2015-01-22 08:01:47