昨天的錯誤至今無法修正,即使重裝了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"更新就可以了。