我們最近切換到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不需要知道所需的字根。
有什麼辦法可以達到這個目的嗎?
我們確實有這個標籤集(儘管在glassfish-web.xml中,因爲該文件已經在GF 3.1中重命名),但沒有注意到我們在我們的Maven配置中重寫了文件名被顯式傳遞作爲上下文根,覆蓋glassfish-web.xml中的定義。您當然是正確的:) – Markus 2013-04-26 05:55:41
即使我同時配置了glassfish-web.xml和sun-web.xml,它也沒有爲我使用glassfish 3.1.2.2使用java ee war部署。只有asadmin部署參數--contextroot = /幫助。但我期待爲此主題找到正確的配置。 – 2013-12-28 10:49:01
我做了一些更多的實驗,最後解決方案是修改glassfish-web.xml。如果我僅將context-root參數添加到glassfish-web.xml而不是sun-web.xml,則結果是預期的結果。 – 2013-12-29 08:09:15