Ant入门案例-打包Web程序并发布

来源:互联网 发布:nginx 配置路径 编辑:程序博客网 时间:2024/06/07 22:42


    Ant是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。由Apache软件基金会所提供。默认情况下,它的buildfile(XML文件)名为build.xml--来自百科

 

一、准备环境

首先确保机器上已经正确安装和配置Ant,一句话概括为解压Ant安装包,将antlib目录完整路径添加到环境变量classpath,将antbin目录完整路径添加到环境变量path中。

确保Tomcat以及JDK已经正确安装和配置,由于不是本文的重点,具体操作步骤可参考网络资料。

 

作者的Ant安装在E:\apache-ant-1.9.4Tomcat安装在E:\apache-tomcat-7.0.32, JDK安装在C:\Program Files\Java\jdk1.6.0_10, JRE安装在C:\Program Files\Java\jre6

二、将在Eclipse上开发好的Web应用程序利用Ant打包并发布

1)确定Ant需要执行哪些操作

首先,看看Eclipse开发的Web应用程序的目录结构,Java代码位于src目录下,Web文件位于WebContent目录下。


  其次,查看tomcat上面部署的Web应用程序的目录结构。

  

   不难看出,开发时在WebContent目录下的文件发布后应该放在tomcat\webapp下的Web项目文件里面,而开发是src目录下的文件发布后应该放在tomcat\webappWeb项目里面WEB-INF的子目录classes里面。

 

因此,对于项目名为TestJSP的具体的发布步骤如下:

1)新建Ant/TestJSP

2)新建Ant/TestJSP/src

3)将Eclipse 项目TestJSP子目录WebContent里面所有文件拷贝到Ant/TestJSP目录下

Eclipse项目TestJSP子目录src里面的所有Java文件拷贝到Ant/TestJSP/src目录下

Note: 对于小型的Web应用也可以不拷贝java源代码到新的目录,而直接编译,但有时源代码在服务器机器上,需要ftp到本地,为了保待良好一致的习惯,建议先copy一份,再对副本进行编译。

4)使用AntJavac编译Ant/TestJSP/src/*.Java文件,将编译后的*.class文件放到Ant/TestJSP/WEB-INF/classed目录下

5)使用Antwar打包TestJSP

6)使用Antcopy拷贝war包到tomcat/webapp目录下

Note: 有时Web服务器和打包机器不同,需要使用Antftp任务将War包传到服务器上。

 

Note: 作者的Web程序的路径为E:\workspace\TestJSP,为了提高Ant build文件的复用性,不在build.xml里面硬编码项目名称,而采用运行时带-D选项设置属性的方式来动态加载项目名称。

 

2)编辑Ant build文件

这里文件名为build.xml,这是Ant默认的build文件,当然也可以通过-f -buildfile 指定其他的build文件.

<?xml version="1.0" encoding="UTF-8"?><project name="${Name}" basedir="." default="publish"><!—use Ant –Dname=TestJSP to run Ant, then ${Name} will get TestJSP--><property name="src" value="${basedir}/${Name}/src"/><property name="app" value="${basedir}/${Name}/WebContent" /><property name="lib"value="${app}/WEB-INF/lib" /><!—set property of project TestJSP related dir--><property name="antbuild" value="${basedir}/Ant" /><property name="build.src" value="${antbuild}/${Name}/src" /><property name="build.app" value="${antbuild}/${Name}" /><property name="build.class" value="${antbuild}/${Name}/WEB-INF/classes"/><!—set property of Ant dir to build--><property name="j2eelib.dir" value="C:\Program Files\Java\jre6\lib" /><property name="tomcat.dir" value="E:\apache-tomcat-7.0.32\webapps" /><path id="classpath"><fileset dir="${j2eelib.dir}"><include name="**/*.jar" /></fileset><fileset dir="${lib}"><include name="**/*.jar" /></fileset></path><!—set classpath for javac task--><target name="init"><mkdir dir="${antbuild}" /><mkdir dir="${build.src}" /><mkdir dir="${build.class}" /><copy todir="${build.src}"><fileset dir="${src}"><include name="**/*.java" /></fileset></copy><copy todir="${build.app}"><fileset dir="${app}" /></copy></target><!—mkdir and copy file--><target name="compile" depends="init"><javac srcdir="${build.src}" destdir="${build.class}" ><classpath refid="classpath" /></javac><delete dir="${build.src}" /></target><!—compile the java file and copy the class file--><target name="war" depends="compile"><war destfile="${build.app}/${Name}.war" webxml="${build.app}/WEB-INF/web.xml"><fileset dir="${build.app}"/></war></target><!—compress the project file to war file--><target name=”publish” depends=”war”><copy destdir=”${tomcat.dir}” ><fileset dir=”${build.app}”><include name=”*.war” /></fileset></copy></target><!—copy war file to tomcat--><target name="publish2" depends="war"><ftp server="ftp.webserver.com" port="21"       remotedir="${tomcat.dir}" userid="ainet"       password="r00t" passive="yes"       depends="yes" binary="no"><fileset dir="${build.app}"><include name="*.war"/></fileset></ftp></target><!—sometimes we need ftp the war to webserver--></project>

3)运行Ant命令

Build.xml文件放在E:\workspace目录下,TestJSP项目文件也在E:\workspace目录下,在cmd窗口,跳转到E:\workspace目录下运行Ant Dname=TestJSP

 

    启动tomcat,运行浏览器访问http://localhost:8080/TestJSP/,效果图如下


三、后记

关于更多Ant,请访问http://ant.apache.org/manualdownload.cgi,获取官方文档。

下载示例程序:http://pan.baidu.com/s/1ntNwiST


0 0
原创粉丝点击