昨天的错误至今无法修正,即使重装了Tomcat也不行。
不过,deploy到两台linux服务器上倒都成功了。
<taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask">
<classpath>
<path location="${tomcat.dir}/server/lib/catalina-ant.jar" />
</classpath>
</taskdef>
<taskdef name="list" classname="org.apache.catalina.ant.ListTask">
<classpath>
<path location="${tomcat.dir}/server/lib/catalina-ant.jar" />
</classpath>
</taskdef>
<target name="deploy-web" description="Install application in Local Tomcat">
<echo message="deploying to web ..." />
<deploy
url="http://172.16.1.20:8080/manager"
username="${tomcat.manager.username}"
password="${tomcat.manager.password}" path="/${context-path}"
war="file:${dist}/${context-path}.war" update="true" />
</target>
<target name="list-web">
<echo message="list web tomcat ..." />
<list
url="http://172.16.1.20:8080/manager"
username="${tomcat.manager.username}"
password="${tomcat.manager.password}" />
</target>
这里跟昨天的代码有一点不一样:
1、localWar改成了war。
原来更新远程服务器的时候,总是显示更新成功,但是到webapps目录下总是没有相应的war文件,通过调用
ant list-web
发现,有一个context-path是dist/msms,而且是stop状态。哦,原来localWar的意思不是指开发的机器的local path,而是指把这个war被写到服务器的什么地方。改成war就正常了。
2、不需要判断是否已经deploy进而调用undeploy了,直接通过update="true"更新就可以了。