一、前沿
前段时间公司为了做一个新闻发布系统,就使用了开源的JEECMS系统,(非人类啊,泪~~~),项目不是maven构建的,项目的打包部署非常的麻烦,没办法只能使用Ant,Ant是比较古老的打包部署工具,目前大部分都是使用maven来打包部署。
so,为大家介绍下Ant文件的编写。我就不多说了,直接把我的ant文件展示给大家,各位有什么不懂的地方,欢迎评论,我会挨个回复。谢谢~~~
二、Ant文件。build.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- 定义一个工程,默认任务为warFile。 -->
<project name="JRZNCMS" default="warFile" basedir=".">
<!-- 定义属性,打成war包的名称。 -->
<property name="warFileName" value="ROOT.war"></property>
<!-- 定义路径,编译java文件时用到的jar包。 加载lib下的所有jar包-->
<path id="project.lib">
<fileset dir="${basedir}/WebContent/WEB-INF/lib">
<include name="*.jar"/>
</fileset>
</path>
<!-- 定义任务,清空任务:清空原有的class文件,创建新的build路径。 -->
<target name="clean" description="清理目录~~~~">
<delete dir="${basedir}/WebContent/WEB-INF/classes" />
<mkdir dir="${basedir}/WebContent/WEB-INF/classes" />
</target>
<!-- 定义任务,编译src文件夹中的java文件,编译后的class文件放到创建的文件夹下。 -->
<target name="compile" depends="clean" description="编译~~~~" >
<javac srcdir="${basedir}/src" destdir="${basedir}/WebContent/WEB-INF/classes" includeantruntime="false" encoding="UTF-8">
<classpath refid="project.lib">
</classpath>
</javac>
<!--由于compile只能编译java文件,so需要我们将src下的其他文件copy到classes下-->
<!-- 定义任务,将xml 和 配置文件 copy到src下。 -->
<copy todir="${basedir}/WebContent/WEB-INF/classes" >
<fileset dir="${basedir}/src">
<include name="**/*.xml"/>
<include name="**/*.properties"/>
</fileset>
</copy>
</target>
<!-- 定义默认任务,将class文件集合成jar包。 -->
<target name="warFile" depends="compile">
<!-- 删除原有war包。 -->
<delete dir="${basedir}/${warFileName}" />
<!-- 建立新war包。 -->
<war destfile="${basedir}/${warFileName}" webxml="${basedir}/WebContent/WEB-INF/web.xml">
<!-- 将WebContent下的所有文件copy到war包的对应路径下。 -->
<fileset dir="${basedir}/WebContent">
<include name="**/**.*" />
<include name="*.*" />
</fileset>
</war>
</target>
</project>