首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

ant 将WEB工程打成WAR包并进展远程部署

2012-12-24 
ant 将WEB工程打成WAR包并进行远程部署公司最近要求我将本地项目编译,并发布到服务器上,在网上看了很久,只

ant 将WEB工程打成WAR包并进行远程部署
公司最近要求我将本地项目编译,并发布到服务器上,在网上看了很久,只找到了有关ANT相关操作的,现将代码贴出希望到时候有人需要.
我还有一个问题,希望名位大虾帮我解决,如何利用ANT从TFS上自动获取项目源码?

<?xml version="1.0" encoding="utf-8"?><project name="xbcw" default="deploy"><!-- <property name="dist" value="E:/txin0814/workspace1/myceaas/dist" />--><property name="context-path" value="xbcw" /><!-- 必须保证TOMCAT在运行状态  服务器IP 端口 --><property name="tomcat.manager.url" value="http://192.168.1.68:9090/manager/html" /><!-- TOMCAT用户名 --><property name="tomcat.manager.username" value="admin" /><!-- TOMCAT密码 --><property name="tomcat.manager.password" value="" /><!--//////////////////////////////////////////////////////// --><!-- 建立目录结构          project              ... src                 JAVA源码编辑目录              ... WebRoot             web文件存放地方                  ... WEB-INF                       ...lib          jar包(类库)存放目录              ... build               编译生成的class文件存放目录              ... dist                war和javadoc存放目录              ... build.xml           ant脚本      --><property name="src.dir" value="src" /><property name="lib.dir" value="WEB-INF/lib" /><property name="webRoot.dir" value="WebRoot" /><property name="web-inf.dir" value="${webRoot.dir}/WEB-INF" /><property name="build.dir" value="build" /><property name="dist.dir" value="dist" /><!-- 初始化 classpath --><path id="project.classpath"><fileset dir="${webRoot.dir}/${lib.dir}"><include name="**/*.jar" /></fileset><pathelement location="${build.dir}/classes" /><pathelement path="${java.class.path}" /></path><!-- 删除之前的目录结构 --><target name="clear"><delete dir="${build.dir}" /><delete dir="${dist.dir}" /></target><!-- 创建目录结构 --><target name="init"><mkdir dir="${build.dir}/classes" /><mkdir dir="${dist.dir}" /></target><!-- 编译Java代码 --><target name="compile" depends="init" description="编译java文件"><javac srcdir="${src.dir}" destdir="${build.dir}/classes"><compilerarg line="-encoding GBK" /></javac><copy todir="${build.dir}"><fileset dir="${src.dir}"><include name="**/*.xml" /><include name="**/*.jar" /></fileset></copy><copy todir="${web-inf.dir}/classes"><fileset dir="src"><include name="**/*.properties" /><include name="**/*.xml" /></fileset></copy><copy todir="${web-inf.dir}/classes"><fileset dir="${build.dir}/classes"><include name="**/*.*" /></fileset></copy></target><!-- 将class文件打成 jar包 --><!--      <target name="pack" depends="compile">         <jar jarfile="${build.dir}/${ant.project.name}.jar">             <fileset dir="${build.dir}/classes">                 <include name="**/*.class"/>             </fileset>         </jar>     </target> --><!-- 打成war包, 名称默认为 项目名 --><target name="dist" depends="compile" description="将工程打成war包"><war destfile="${dist.dir}/${ant.project.name}.war" basedir="${webRoot.dir}" webxml="${web-inf.dir}/web.xml" /></target><!--//////////////////////////////////////////////////////// --><target name="undeploy" description="Remove application in Tomcat"><echo message="undeploying to web ..." /><taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask" /><undeploy url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}"path="/${context-path}" /></target><target name="deploy" description="Install application in Tomcat" depends="dist"><echo message="deploying to web ..." /><taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask" /><deploy url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" path="/${context-path}" war="${dist.dir}/xbcw.war" update="true" /><!-- file:${dist}/deploy.war --></target><target name="list"><echo message="list web tomcat ..." /><taskdef name="list" classname="org.apache.catalina.ant.ListTask" /><list url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" /></target></project>

如果JAVA文件引用了第三方JAR包,还要把所有的JAR全部引用进来
<path id="project.classpath">        <pathelement location="WebRoot/WEB-INF/classes"/>        <pathelement location="WebRoot/WEB-INF/lib/activation.jar"/>        <pathelement location="WebRoot/WEB-INF/lib/commons-codec-1.4.jar"/>        <pathelement location="WebRoot/WEB-INF/lib/commons-httpclient-3.1.jar"/>        <pathelement location="WebRoot/WEB-INF/lib/commons-logging-1.1.1.jar"/>        <pathelement location="WebRoot/WEB-INF/lib/jsoup-1.5.2.jar"/>        <pathelement location="WebRoot/WEB-INF/lib/mailapi.jar"/><pathelement location="WebRoot/WEB-INF/lib/smtp.jar"/>    </path>


并在JAVAC中加对其进行CLASSPATH的引用
<javac srcdir="${src.dir}" destdir="${build.dir}/classes"><compilerarg line="-encoding GBK" /><classpath refid="project.classpath"/></javac>

热点排行