2013-03-25 14 views
1

我試圖配置碼頭以在不同的應用程序文件夾之間切換。 例如:我有2個應用程序文件夾(包含WEB-INF,類,戰爭等)App1和App2。我想在linux「myapp」中創建一個符號鏈接,指向App1或App2並使用http://host.com/myapp/resource訪問我的資源(即我的應用程序的servlet)...碼頭 - 爲不同的應用程序版本使用符號鏈接

我在我的etc/webdefault中添加了以下行。 XML文件來enalbe別名,但沒有工作:

<servlet> 
<servlet-name>default</servlet-name> 
<servlet-class>org.eclipse.jetty.servlet.DefaultServlet</servlet-class> 

<init-param> 
<param-name>aliases</param-name> 
<param-value>true</param-value> 
</init-param> 

</servlet> 

有沒有辦法來啓用此行爲?還是我需要另一種方法?基本上我需要一種快速的方式來切換生產應用程序的版本,無需重大更改,或重新啓動服務器:)

回答

2

使用Context based deployment

創建一個${jetty.home}/contexts/myapp.xml並指定所需的映射。

<?xml version="1.0" encoding="ISO-8859-1"?> 
<!DOCTYPE Configure PUBLIC 
      "-//Mort Bay Consulting//DTD Configure//EN" 
      "http://jetty.mortbay.org/configure.dtd"> 
<Configure class="org.eclipse.jetty.webapp.WebAppContext"> 
    <Set name="contextPath">/myapp</Set> 
    <Set name="war"><SystemProperty name="jetty.home" default="."/>/webapps/App1</Set> 
</Configure> 

這使得上下文/myapp${jetty.home}/webapps/App1目錄服務。

如果您仍然啓用熱部署(默認啓用)。然後,只需編輯${jetty.home}/contexts/myapp.xml並保存它,碼頭就會接受更改並提供新的設置。

相關問題