我正在尝试部署WAR,就像在此示例https://stackoverflow.com/a/4144674/758661
中一样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错误:
Server returned HTTP response code: 403 for URL:
http://localhost:8080/manager/text/deploy?path=%2Fupdater
我认为这是因为“/”已被替换为“%2F”(密码和用户名与tomcat-users.xml类似)
如何防止将“/”替换为“%2F”?还是其他任何想法? THX。
答案 0 :(得分:1)
替换不是问题,参数被urlencoded是正常的。如果未编码,服务器将无法接收它。
“403”表示“禁止”。
我想这是因为你有一个奇怪的网址。替换
task.setUrl("http://localhost:8080/manager/text");
通过
task.setUrl("http://localhost:8080/manager");
答案 1 :(得分:0)
我解决了。
在Eclipse中的Tomcat服务器概述(右键单击服务器 - >打开)“服务器位置”中我必须选择secons单选按钮“使用Tomcat安装”(默认设置为“使用工作空间”)元数据”。
因为在默认情况下,Tomcat在没有这种情况下需要的管理器应用程序的情况下启动。