使用Python将WAR文件部署到Tomcat

4 投票
1 回答
5072 浏览
提问于 2025-04-15 22:39

我正在尝试把一个war文件部署到Apache Tomcat服务器(版本6.0.24),这个过程是用Python(版本2.4.2)来完成的。

我使用了以下代码:

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归档文件并没有出现在管理页面的应用列表中。

谢谢。

1 个回答

2

好的,我搞明白了。

在urllib2.Request这一行代码中,路径前面需要加一个斜杠,所以应该是这样:

request = urllib2.Request('http://localhost:8080/manager/deploy?path=/war_file', data=war_file_contents)

这样一来,所有的功能就正常运作了。

撰写回答