Tomcat
將 WAR 自動部署到 Tomcat 上的任意 URL
如何在不更改 WAR 文件名的情況下將WAR 文件(順便說一下,由 Play! 框架創建)自動部署到 Tomcat 6,但在任意 URL 上,例如“/sub/url” ?
我知道我可以簡單地將其上傳為“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”。
感謝郵件列表回复,我找到了一種方法來做我想做的事。
解決方法是不要對“/var/lib/tomcat6/webapps”中的WAR文件使用自動部署功能,而是將WAR文件上傳到另一個目錄。然後必須顯式地創建一個與 URL 路徑匹配的上下文配置文件,例如“/var/lib/tomcat6/conf/Catalina/localhost/sub#url.xml”,其中包含以下內容:
<Context docBase="/path/to/war/arbitrary-filename.war" />