ant编译脚本详解


最近在学习持续集成,使用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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值