2016-04-26 43 views
0

我必須在tomcat 7中部署我的app.war文件.war文件名後面跟着它的版本號。 這裏我需要設置一個上下文路徑,這樣實際的url將只包含應用程序名稱(沒有版本號)。如何在context.xml中設置上下文路徑

我的要求是,在server.xml中不應該編輯。

我的context.xml如下。

<?xml version='1.0' encoding='utf-8'?> 
<Context path="/app" docBase="app-1.0" debug="0" reloadable="true"> 

    <!-- Defines links to JNDI Data Sources --> 
    <!-- Thus the server determines database connection. --> 

    <ResourceLink 
      name="..." 
      global="..." 
      auth="Container" type="javax.sql.DataSource"/> 

    ..... 
    ..... 

</Context> 

context.xml放置在/ META-INF文件夾的戰爭中。 誰能告訴我我在哪裏錯了。

回答

2

所有的元素都在文檔: http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Naming

您的使用情況下,你可以做嘗試:

  • 改變你的版本號格式(從APP-1.0.0.war到應用## 1.0.0.war 例如)

  • 地方你在另一個文件夾戰爭和$catalina.base/conf/Catalina/創建app.xml的 其中包含:<Context path="/app" docBase="/path/to/app-1.0" debug="0" reloadable="true">

  • 避免使用版本號

+0

第一個選項適合我。謝謝。 –

0

你的戰爭也有類似的問題,我花了很長時間才能找到解決方案。它在tomcat站點上,但很難找到。這就是我所做的。

您的war文件將被部署到%CATALINA_BASE%下的文件夾中。我把它放在一個名爲deploy的文件夾中。 (%CATALINA_BASE%/ deploy)

您將創建一個XML文件,其中包含上面war文件的路徑,並將其置於%CATALINA_BASE%/ conf/Catalina/localhost中。 xml文件的名稱將成爲您的上下文根。如果你的war文件的名字是app1.2.war並且你希望你的上下文根目錄是/ app,那麼你就創建了app.xml: <?xml version='1.0' encoding='utf-8'?> <Context docBase="C:\tomcat7\Servers\server-app\deploy\app1.2" reloadable="false"/> (我的部署在Windows上,你顯然必須調整爲不同的操作系統)。

另外,讓我們無論出於什麼原因說你想讓你的上下文根是/ foo/Bar/app,把你的xml的名字改成foo#Bar#app.xml。

相關問題