最近在学习持续集成,使用jenkins,sonar,maven来更合理的管理项目,在学习maven的时候发现maven对项目目录结构的一些默认约定不利于遗留项目的构建,所以ant这个
简单有效的工具还是非常有市场的。他可以集成到maven中,也可以单独来使用。总之,比较有用,下面是自己学习ant脚本编写的小例子,可以执行,所以没有加他多的其他属性。
<?xml version="1.0" encoding="UTF-8"?>
<project default="dist" name="Project Argon">
<!-- env本地环境变量 java.lib.dir jdk lib库-->
<property environment="env" />
<property name="java.lib.dir" value="${env.JAVA_HOME}/lib" />
<!-- 工程绝对路径.默认为当前项目相对路径如:location="${basedir}/src"-->
<property name="project.Dir" location="F:\\workspace\\Joda-Time"/>
<property name="srcDir" location="${project.Dir}/src"/>
<property name="buildDir" location="${project.Dir}/build"/>
<property name="distDir" location="${project.Dir}/dist"/>
<!-- jar主类,打包运行是指定要执行的类-->
<property name="MainClassValue" value="com.test.jmx.HelloAgent"/>
<!-- 编译依赖的外部jar包-->
<property name="ref.lib" value="${project.Dir}/lib" />
<!--编译生成的类路径 -->
<property name="classesDir" value="${buildDir}/classes" />
<path id="compileClasspath">
<fileset dir="${java.lib.dir}">
<include name="*.jar"/>
</fileset>
<fileset dir="${ref.lib}">
<include name="*.jar"/>
</fileset>
<!--<pathelement location="lib/"/>-->
</path>
<!-- 初始化,新建目录-->
<target name="init" depends="clean">
<tstamp/>
<mkdir dir="${classesDir}" />
<mkdir dir="${buildDir}"/>
<mkdir dir="${distDir}"/>
</target>
<!-- 编译,生成类文件到classes目录下-->
<target name="compile" depends="init" description="">
<javac srcdir="${srcDir}" destdir="${classesDir}" source="1.6" target="1.6" includeantruntime="on">
<classpath refid="compileClasspath" />
</javac>
</target>
<!-- 生成jar包-->
<target name="dist" depends="compile">
<!-- 生成二进制包 -->
<jar destfile="${distDir}/joda.jar" basedir="${buildDir}">
<manifest>
<attribute name="Built-By" value="${user.name}"/>
<attribute name="Main-Class" value="${MainClassValue}"/>
</manifest>
</jar>
<!--生成源码包 -->
<jar destfile="${distDir}/package-src-${DSTAMP}.jar" basedir="${srcDir}"/>
</target >
<!--清理编译目录-->
<target name="clean">
<delete dir="${buildDir}"/>
<delete dir="${distDir}"/>
</target>
</project>