如何将 WAR 文件(顺便说一下,由 Play!框架创建)自动部署到 Tomcat 6,但在任意 URL 上,例如“/sub/url”,并且不改变 WAR 文件名?
我知道我可以简单地将其上传为“sub#url.war”,Tomcat 会自动将其部署到“/sub/url”,但我的文件名包含特殊的站点标识符,因此即使 URL 发生变化,我也希望保留文件名。
假设文件名是“specialfilename.war”。
我还尝试将 META-INF/context.xml 文件添加到 WAR
<Context path="/sub/url" />
但它并没有以任何方式被使用。Tomcat复制该文件到“conf/Catalina/localhost/specialfilename.xml”,但指定的 URL 路径不影响任何内容。我的应用程序一直自动部署到“/specialfilename”。
答案1
感谢邮件列表回复,我找到了做我想做的事情的方法。
解决方案是不要使用“/var/lib/tomcat6/webapps”中 WAR 文件的自动部署功能,而是将 WAR 文件上传到另一个目录。然后必须明确创建一个与 URL 路径匹配的上下文配置文件,例如“/var/lib/tomcat6/conf/Catalina/localhost/sub#url.xml”,内容如下:
<Context docBase="/path/to/war/arbitrary-filename.war" />