朋友的让我解决下多台服务器部署的问题.首选ANT的远程发布,好像有3种方式:
1.用FTP上传文件
2.tomcat的部署管理程序
3.用telnet (这个不会)
我选tomcat的部署管理程序,tomcat5不带admin管理功能,要下apache-tomcat-X.X.X-admin.zip 文件,版本别搞错了.
http://archive.apache.org/dist/tomcat/自己看着下载程序吧!
下载好后,覆盖原tomcat5目录.
改conf/tomcat-users.xml 文件为
<?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="tomcat"/> <role rolename="manager"/> <role rolename="admin"/> <user username="admin" password="admin" roles="admin,manager"/> </tomcat-users>
启动tomcat.点左边的Tomcat Manager,输入后,进管理页面,OK.说明没问题
开始ant配置
如是elicpse下运行ant,进入首选项->ant->runtime->classpath->ant home entires 点add exteranl jars
选D:\apache-tomcat-5.5.27\server\lib\catalina-ant.jar,OK
如果是命令行运行ant ,在ant\lib加入catalina-ant.jar文件,
build.xml
<!-- 导入ant发布命令 --> <taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask" /> <taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask" /> <taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask" /> <property name="project.name" value="XXX"/> <property name="tomcat.home" value="D:\apache-tomcat-5.5.27"/> <!-- tomcat参数 --> <property name="tomcat.server" value="127.0.0.1"/> <property name="tomcat.username" value="admin"/> <property name="tomcat.password" value="admin"/> <property name="tomcat.port" value="8080"/> <property name="tomcat.project.path" value="/${project.name}"/> <property name="tomcat.server.url" value="http://${tomcat.server}:${tomcat.port}"/> <property name="tomcat.deploy.url" value="http://${tomcat.server}:${tomcat.port}/manager"/> <!-- 运行命令 --> <target name="deploy-TOMCAT"> <echo message="deploy start" /> <deploy url="${tomcat.deploy.url}" username="${tomcat.username}" password="${tomcat.password}" path="${tomcat.project.path}" war="file:${project.war.filepath}" update="true" /> <echo message="deploy end" /> </target> <target name="undeploy-TOMCAT"> <echo message="undeploy start" /> <undeploy url="${tomcat.deploy.url}" username="${tomcat.username}" password="${tomcat.password}" path="${tomcat.project.path}" war="file:${project.war.filepath}" update="true" /> <echo message="undeploy end" /> </target> <target name="reload-TOMCAT"> <echo message="reload-TOMCAT start" /> <reload url="${tomcat.deploy.url}" username="${tomcat.username}" password="${tomcat.password}" path="${tomcat.project.path}" update="true" /> <echo message="reload-TOMCAT end" /> </target>
${tomcat.project.path}是war文件 ,我这是D:\workspace\ssh\dist\ssh.war,自已配下吧
OK.不过要先运行tomcat,再ant,否则报错