2014-09-30 122 views
2

我想通過tomcat管理器部署一個web應用程序,只需指定上下文文件,如在tomcat 7文檔http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path中所述。通過上下文文件的Tomcat管理器部署失敗

我發出以下調用經理http://myhost.mydomain.com:8080/manager/text/deploy?config=file:/opt/company/product/conf/mycontext.xml

上下文文件如下所示:

<!DOCTYPE project> 
<Context path="/myapp" docBase="/opt/company/product/lib/myapp.war" antiResourceLocking="false" > 
</Context> 

和經理指示錯誤:失敗 - 指定了無效的上下文路徑無效。

現在我可以部署應用程序,如果我使用也提供部署url(路徑)的調用。不過,我希望Tomcat能夠讀取我的上下文文件並自行確定文件定義的路徑。

這是一個在tomcat 7管理器中的問題,有沒有繞過這個問題的方法?

感謝任何指針

+0

我的問題是非常相似的:http://stackoverflow.com/questions/32877935/how-to-deploy-a-tomcat-application-with-url-api-when-using-custom-context-xml。 – Philippe 2015-10-09 17:59:01

+0

在我的情況下,當我添加路徑= /我的路徑我得到一個'失敗 - 無法部署應用程序的上下文路徑/我的路徑' – Philippe 2015-10-09 18:02:09

+1

似乎它是一個tomcat的錯誤,仍然沒有關閉,因爲6.0:https:// bz .apache.org/bugzilla/show_bug.cgi?id = 51727。這裏有一個有趣的討論http://tomcat.10.x6.nabble.com/manager-deploy-context-file-td2062544.html,所以基本上路徑元素不能在上下文配置文件中使用! – devlearn 2015-11-16 16:31:41

回答

1

據我可以告訴這是Tomcat的一個bug(請參閱從@devlearn評論)。

要解決此限制,我最終依靠Tomcat重新啓動來執行初始部署。一旦Tomcat知道應用程序,我可以通過停止應用程序上下文來隨時重新部署,刪除webapps中的文件夾並手動將WAR文件解壓縮到一個替換我刪除的文件夾的新文件夾中。 Ansible完成了所有這些工作 - 當這個錯誤得到解決後,我可以恢復使用Tomcat API。