2012-09-12 34 views
2

我想就像这个例子https://stackoverflow.com/a/4144674/758661通过ANT

DeployTask task = new DeployTask(); 
    task.setUrl("http://localhost:8080/manager/text"); 
    task.setUsername("tomcat"); 
    task.setPassword("s3cret"); 
    task.setPath("/updater"); 
    task.setWar(warFile.getAbsolutePath()); 
    task.execute(); 

部署战争,而是得到一个403错误部署到Tomcat:

Server returned HTTP response code: 403 for URL: 
http://localhost:8080/manager/text/deploy?path=%2Fupdater 

我认为这是因为“/”已替换为“%2F”(密码和用户名像在tomcat-users.xml中)

如何防止将“/”替换为“%2F”?还是其他想法?谢谢。

回答

0

我解决这个问题。

在“服务器位置”中的Eclipse中右键单击服务器 - >打开Tomcat服务器概述我必须选择secons单选按钮“使用Tomcat安装”(默认情况下它设置为“首先使用工作空间元数据”。

因为在默认情况下,Tomcat启动时不会在这种情况下,需要管理者应用至极。

1

替换不是一个问题,这是正常的参数被urlencoded。如果没有编码,服务器将无法收到它。

而“403”的意思是“禁止”。

我想这是因为你有一个奇怪的URL。更换

task.setUrl("http://localhost:8080/manager/text"); 

通过

task.setUrl("http://localhost:8080/manager"); 
+0

不幸的是,这并没有解决我的问题。 – ForeverSmiling