Java 如何在context.xml中设置上下文路径
我必须在tomcat 7中部署app.war文件。.war文件名后跟其版本号。 在这里,我需要设置一个上下文路径,这样实际的url将只包含应用程序名称(没有版本号) 我的要求是,server.xml中不应该有编辑 我的context.xml如下所示Java 如何在context.xml中设置上下文路径,java,tomcat7,context.xml,contextpath,Java,Tomcat7,Context.xml,Contextpath,我必须在tomcat 7中部署app.war文件。.war文件名后跟其版本号。 在这里,我需要设置一个上下文路径,这样实际的url将只包含应用程序名称(没有版本号) 我的要求是,server.xml中不应该有编辑 我的context.xml如下所示 <?xml version='1.0' encoding='utf-8'?> <Context path="/app" docBase="app-1.0" debug="0" reloadable="true"> &
<?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放在warat/META-INF文件夹中。
谁能告诉我哪里错了。所有元素都在文档中: 对于您的用例,您可以尝试:
- 更改版本号格式(从app-1.0.0.war更改为app##1.0.0.war (例如)
- 将war放在另一个文件夹中并创建app.xml
在
中,包含:$catalina.base/conf/catalina/
- 避免与版本号发生冲突
- 也有类似的问题,我花了很长时间才找到解决方案。它在tomcat网站上,但很难找到。这就是我所做的
您的war文件将部署到%CATALINA_BASE%下的文件夹中。我把我的放在一个名为deploy的文件夹中。(%CATALINA_BASE%/部署)
您将使用上面war文件的路径创建一个XML文件,并将其放置在%CATALINA_BASE%/conf/CATALINA/localhost中。xml文件的名称将成为您的上下文根。如果war文件的名称为app1.2.war,并且希望上下文根为/app,则创建app.xml:
(我的部署是在Windows上进行的,您显然需要调整以适应不同的操作系统。)
另外,不管出于什么原因,如果希望上下文根为/foo/Bar/app,请将xml的名称更改为foo#Bar#app.xml