ant编译java工程

ant 脚本编译运行java应用


下面的代码是一个简单的ant 脚本用于java 应用编译示例:


<?xml version="1.0" encoding="UTF-8"?>

<project name="JavaTest" default = "anttest">
	<property name="src.dir" value="src" />
	<property name="dest.dir" value="dest" />

	<target name="prebuild">
		<mkdir dir="${dest.dir}" />
		<delete dir="${dest.dir}" />
		<mkdir dir="${dest.dir}" />
	</target>

	<target name="build">
		<echo> build begin ...</echo>
		<javac srcdir="${src.dir}" destdir="${dest.dir}" includeantruntime = "false"/>
		<echo> build end ...</echo>
	</target>

	<target name="run">
		<echo>run begin ...</echo>
		<java classname="com.example.test.Test">
			<classpath>
				<pathelement path="${dest.dir}" />
			</classpath>
		</java>
		<echo>run end ...</echo>
	</target>

	<target name="anttest" depends="prebuild , build ,run"></target>

</project>


运行结果:


1. ant 脚本的入口

    1.1  在Eclipse 的ant 窗口运行

      双击javaTest 的图标时,默认的是选择<project name="JavaTest" default = "anttest"> 中的target 作为入口 。

   如果project没有配置default 属性,双击图标运行脚本的时候不会执行的任何target 。但是可以双击下面的target name直接运行target 。

     

      1.2 在命令行中运行

       进入build.xml目录,输入 ant ,脚本会默认执行该目录下build.xml文件中的target ;

       使用ant -f filename targetname 的方式,可以执行filename 文件下的targetname 任务 ;

2. 脚本的运行流程分析

     2.1 JavaTest project

     project 中定义了anttest ,prebuild ,run 三个 target ;

     两个属性,src.dir和dest.dir ;类似于全局变量的存在,使用的时候可以${}进行调用。


      2.2 anttest target

     运行脚本后,运行的target 顺序是:prebuild ,build ,run ;它们的执行先后是由target 的depends属性决定的,需要多个target 作为执行前提的时候, 脚本会按脚从左往右的顺序依次执行之前的任务,然后执行该target 。

      示例中的depends属性还可以写成:

      <target name="build" defealt = "prebuild">

      <target name="run" defealt = "build">

      <target name="anttest" defealt = "run">


       2.3 prebuild target 

      prebuild 任务的作用是删除上次生成的目标文件及新建目标文件存放目录;

     

      2.4 build target 

      <javac srcdir="${src.dir}" destdir="${dest.dir}" includeantruntime = "false"/>

      调用java 提供的javac 命令进行编译


       2.5 run target 

      调用java 命令运行生成的class 文件 。


3. 命令介绍

    3.1 delete 命令

    删除 文件: <delete file="filepath"/> 

    删除目录:<delete dir="dirpath"/>

    删除某种文件类型,example:

 <delete>
    //删除当前文件夹下后缀为.bak的所有文件
    <fileset dir="." includes="**/*.bak"/>
  </delete>
 

    3.2 mkdir 命令

    创建目录:<mkdir dir="dirpath"/>

    

    3.3 property

   创建一个变量: <property name="propertyname"  value="propertyvalue"/>

  从外部xxxx.properties文件中导入一些列的property值:<property file="xxxx.properties"/>

    3.4 参考文档:

    http://ant.apache.org/manual/index.html

       

     


     




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值