Tomcat

將 WAR 自動部署到 Tomcat 上的任意 URL

  • March 4, 2011

如何在不更改 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" />

引用自:https://serverfault.com/questions/242399