哈哈,想了个歪招:
1. 把目标机器文件夹共享,然后映射成你的机器的一个分区就可以直接部署咯
2. 装个PcAnyway啊

解决方案 »

  1.   

    <?xml version="1.0"?><project name="project" default="deploy-local-catalina">    <property name="war.dir" value="dist"></property>    <property name="web.dir" value="WebContent/WEB-INF"></property>    <property name="webapp.name" value="spring"></property>    <property name="catalina.port" value="8080"></property>    <property name="catalina.username" value="admin"></property>    <property name="catalina.password" value="admin"></property>        <target name="init">       <mkdir dir="${war.dir}"/>    </target>     <target name="mkwar" depends="init">       <war destfile="${war.dir}/spring.war" webxml="${web.dir}/web.xml" >           <classes dir="${web.dir}/classes"></classes>           <fileset dir="WebContent" excludes="web.xml"></fileset>           <lib dir="${web.dir}/lib"></lib>       </war>    </target>        <target name="remove-local-catalina">       <property name="deploy.local.remove.url"           value="http://localhost:${catalina.port}/manager/remove"></property>       <get dest="deploy.local.remove.txt"            src="${deploy.local.remove.url}?path=/${webapp.name}"           username="admin" password="admin"/>              <loadfile property="depoly.local.remove.result"            srcfile="depoly.local.remove.txt"></loadfile>    </target>        <target name="deploy-local-catalina" depends="mkwar, remove-local-catalina">       <property name="deploy.local.urlpath"            value="file:///D:\MyEclipse\workspace\springstruts\dist\spring.war"></property>       <property name="deploy.local.url.params"            value="path=/${webapp.name}&amp;war=${deploy.local.urlpath}"></property>       <property name="deploy.local.url"            value="http://localhost:${catalina.port}/manager/install"></property>       <get src="${deploy.local.url}?${deploy.local.url.params}"           dest="deploy-local.txt"           username="admin"           password="admin"/>       <loadfile property="deploy.local.result"            srcfile="deploy-local.txt"></loadfile>    </target></project>
     可以看出只要将上面的localhost换成目标的ip地址就可以实现tomcat的远程部署.详情见http://www.cntesting.com/upgrade/read.php?tid=1245
      

  2.   

    用ant来控制tomcat reload的方法编辑你的<your project>/build.xml,建立一个启动tomcat的target 如下:   <target name="tomcat_start" depends="deploy" >
          <echo message="==================================="/>
          <echo message="   Start Tomcat"/>
          <echo message="==================================="/>
          <java classname="org.apache.catalina.startup.Bootstrap" fork="yes" failonerror="true" >
          <jvmarg value="-Dcatalina.home=\${catalina.home}" />
             <arg value="-config" />
             <arg path="\${tomcat.server.config}" />
             <arg value="start"/>
             <classpath>
                <fileset dir="\${catalina.home}">
                  <include name="bin/bootstrap.jar"/>
                  </fileset>
             </classpath>
             </java>
          </target>   catalina.home指的是你的tomcat所在的目录。\${tomcat.server.config}在这里的值为"<your project>/tomcat/conf/server.xml>".
       有的build.xml还增加了-Dcatalian.base,建议你不要设,而是设置-config,否则会很容易出错。
       同理,关闭tomcat的target如下   <target name="tomcat_stop">   <echo message="==================================="/>
       <echo message="   Stop Tomcat"/>
       <echo message="==================================="/>   <java classname="org.apache.catalina.startup.Bootstrap" fork="yes" failonerror="true" newenvironment="true">
       <jvmarg value="-Dcatalina.home=\${catalina.home}" />
          <arg value="-config" />
          <arg path="\${tomcat.server.config}" />
          <arg value="stop"/>      <classpath>
            <fileset dir="\${catalina.home}">
            <include name="bin/bootstrap.jar"/>
            </fileset>
          </classpath>
          </java>
       </target>4.自动reload
       通常reload 一个web application有两种方法,1是通过设置reloadable达到自动reload,2是利用本身自带的manager来
       手动reload。后者更直接快速,不过麻烦,利用ant可以很方便的实现手动reload.方法如下:
       (1).
          去tomcat网站下载catalina-ant.jar放到你的\$ANT_HOME/lib下。
       (2).
          在build.xml里定义task,如下:
             
       <taskdef name="reload"    classname="org.apache.catalina.ant.ReloadTask"/>
       (3).在build.xml定义属性:
       <property name="tomcat.manager.username" value="admin"/> 
       <property name="tomcat.manager.password" value="111111"/>
       <property name="manager.url"      value="http://localhost:8080/manager"/>   前两项指你安装tomcat时的管理员用户名和密码,后者指tomcat的manager webapplication url.
       (4).增加一个target   
       <target name="reload" description="Reload web application"
         depends="init, deploy">   <echo message="==================================="/>
       <echo message="   Reload Web Application"/>
       <echo message="==================================="/>
       <reload  url="\${manager.url}" username="\${tomcat.manager.username}" 
          password="\${tomcat.manager.password}" path="/xxx"/>
       </target>
      

  3.   

    Ant布署文件,我的例子,你看一下吧,如果是另一台机了,你做驱动器映射生成一个新的盘符就行了。<?xml version="1.0"?>
    <project default="deploy" name="OA-Deploy"><description>
    deploy the OA project to ${Resin}\deploy
    </description><!--  
    <target name="compile" description="compile *.java in folder src">
    <property name="src" value="E:\Eclipse_Workspace\OA\src"/>
    <property name="build" value="../WebRoot/WEB-INF/classes"/>
        
    </target>
    --><target name="deploy" description="Deploy the OA project">
        <property name="project_webinf" value="D:\Resin3.0.14\deploy\OA\WEB-INF"/>
    <property name="deploy_classes_path" value="D:\Resin3.0.14\deploy\OA\WEB-INF\classes"/>
    <property name="deploy_jsp_path" value="D:\Resin3.0.14\deploy\OA\jsp"/>
    <property name="deploy_webinf_path" value="D:\Resin3.0.14\deploy\OA\WEB-INF"/>
    <property name="spring_config_path" value="D:\Resin3.0.14"/>
    <property name="build" value="../WebRoot/WEB-INF/classes"/>
    <!-- 
    <javac srcdir="."
             destdir="${build}"
             fork="true"
             classpath="E:\OALib"
         />
         -->
        <copy todir="${deploy_classes_path}">
        <fileset dir=".">
             <exclude name="**/*.java"></exclude>
                </fileset>
    </copy>
        <copy todir="${deploy_classes_path}">
        <fileset dir="../WebRoot/WEB-INF/classes">
             <include name="**/*.class"></include>
                </fileset>
    </copy>
       <copy file="../WebRoot/WEB-INF/web.xml" todir="${deploy_webinf_path}"/>
       <!--
       <copy file="../WebRoot/WEB-INF/ApplicationContext.xml" todir="${deploy_webinf_path}"/>
    --><copy todir="${deploy_jsp_path}">
        <fileset dir="../WebRoot">
          <include name="**/*.jsp"/>
          <include name="**/*.js"/>
          <include name="**/*.gif"/>
          <include name="**/*.jpg"/>
          <include name="**/*.bmp"/>
          <include name="**/*.css"/>
          <include name="**/*.htm"/>
          <include name="**/*.ftl"/>
        </fileset>
    </copy>
        <copy todir="${spring_config_path}">
        <fileset dir="../">
          <include name="Spring*.xml"/>
        </fileset>
    </copy>
    </target> </project>如果是FTP的:<ftp server="218.30.96.115" port="21" remotedir="/a" userid="cw4d119" password="n2m5q2x5" depends="yes" binary="no">
     <fileset dir="e:\pic">
           <include name="*.jpg"/>
     </fileset>
    </ftp>
      

  4.   

    to: 
    terry_yip(搞了几年开发,现在才来恶补基础,请别见笑!) ( ) 信誉:94    Blog 把你的init,deploy也贴上,看看
      

  5.   

    主  题:  Ant 远程部署的问题:在本地机器上用ant怎样将项目部署到另外一台机子上? (混分的别进,周一结帖)  
    作  者:  wxt1013 (每晚抱着Java睡觉......)        Blog  
    等  级:    
    信 誉 值:  98  
    所属社区:  Java 框架、开源  
    问题点数:  100  
    回复次数:  10  
    发表时间:  2006-6-17 13:03:58  
    结你妈个头