2016-04-26 38 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。

相关问题