我試圖使用python(2.4.2)作爲構建過程的一部分將戰爭部署到Apache Tomcat服務器(構建版本6.0.24)。使用python向tomcat部署戰爭
我用下面的代碼
import urllib2
import base64
war_file_contents = open('war_file.war','rb').read()
username='some_user'
password='some_pwd'
base64string = base64.encodestring('%s:%s' % (username, password))[:-1]
authheader = "Basic %s" % base64string
opener = urllib2.build_opener(urllib2.HTTPHandler)
request = urllib2.Request('http://localhost:8080/manager/deploy?path=war_file', data=war_file_contents)
request.add_header('Content-Type', 'application/octet-stream')
request.add_header("Authorization", authheader)
request.get_method = lambda: 'PUT'
url = opener.open(request)
的url.code是200和url.msg是 「OK」。但是,Web檔案不會出現在經理列表應用程序頁面上。
謝謝。
出於好奇,你有沒有考慮過使用jython,然後使用Cargo庫來管理你的部署到Tomcat(或任何容器,就此而言)。它可能爲您節省一些工作:http://cargo.codehaus.org/ – whaley 2010-05-13 12:33:07
有趣的是,它將不得不以jython作爲自解壓安裝程序的一部分運行。這樣可以節省很多努力。好的發現,先生! – Decado 2010-05-13 13:57:24