ant简介和mac下使用ant运行java代码

本文介绍了Ant的构建文件结构,包括project和target元素的关键属性,如name、default、depends、if和unless。讲解了如何在Mac环境下使用Ant构建和部署Java工程,包括编写Java代码、创建build.xml文件以及运行Ant命令。还提到了利用Ant的jar任务生成jar文件,以及运行Java程序的最终效果。

1.简单使用

Ant的构建文件是基于XML编写的,默认名称为build.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<project name="helloWorld">
    <target name="sayHelloWorld">
        <echo message="Hello,Amigo"/>
    </target>
</project>

运行:

ant sayHelloWorld

 

2.关键元素:


project元素:

name属性
用于指定project元素的名称。
default属性
用于指定project默认执行时所执行的target的名称。
basedir属性
用于指定基路径的位置。该属性没有指定时,使用Ant的构件文件的附目录作为基准目录。

<?xml version="1.0" encoding="UTF-8"?>
<project name="projectStudy" default="sayBaseDir" basedir="/usr/local/Cellar/ant/1.10.6">
    <target name="sayBaseDir">
        <echo message="The base dir is: ${basedir}"/>
    </target>
</project>

在这里定义了default属性的值为sayBaseDir,即 当运行ant命令时,若未指明执行的target时,默认执行的target的sayBaseDir,同时还定义了basedir属性的值


target元素:

Ant的基本执行单元,它可以包含一个或多个具体的任务。多个target可以存在相互依赖关系。它有如下属性:

name属性
指定target元素的名称,这个属性在一个project元素中是唯一的。我们可以通过指定target元素的名称来指定某个target。
depends属性
用于描述target之间的依赖关系,若与多个target存在依赖关系时,需要以“,”间隔。Ant会依照depends属性中target出现的顺序依次执行每个target。被依赖的target会先执行。
if属性
用于验证指定的属性是否存在,若不存在,所在target将不会被执行。
unless属性
该属性的功能与if属性的功能正好相反,它也用于验证指定的属性是否存在,若不存在,所在target将会被执行。
description属性
该属性是关于target功能的简短描述和说明。

<?xml version="1.0" encoding="UTF-8"?>
<project name="targetStudy">
	<target name="targetA" if="ant.java.version">
		<echo message="Java version:${ant.java.version}"/>
	</target>
	<target name="targetB" depends="targetA" unless="amigo">
		<description>a depend example!</description>
		<echo message="The base dir is:${basedir}"/>
	</target>
</project>

3.利用Ant构建和部署Java工程

新建工程目录,在此目录下放置在src目录,在src下编写java代码
在工程目录下新建build.xml文件
执行ant命令

<?xml version="1.0" encoding="UTF-8"?>
<project name="javacTest" default="compile" basedir=".">
	<target name="clean">
		<delete dir="build"/>
	</target>
	<target name="compile" depends="clean">
		<mkdir dir="build/classes"/>
		<javac srcdir="src" destdir="build/classes"/>
	</target>
</project>

4.使用Ant运行Java程序

<?xml version="1.0" encoding="UTF-8"?>
<project name="javacTest" default="run" basedir=".">
	<target name="clean">
		<delete dir="build"/>
	</target>
	<target name="compile" depends="clean">
		<mkdir dir="build/classes"/>
		<javac srcdir="src" destdir="build/classes"/>
	</target>
	<target name ="run" depends="compile">
		<java classname="HelloWorld">
			<classpath>
				<pathelement path="build/classes"/>
			</classpath>
		</java>
	</target>
</project>

5.使用Ant的jar任务生成jar文件

<?xml version="1.0" encoding="UTF-8"?>
<project name="javacTest" default="jar" basedir=".">
	<target name="clean">
		<delete dir="build"/>
	</target>
	<target name="compile" depends="clean">
		<mkdir dir="build/classes"/>
		<javac srcdir="src" destdir="build/classes"/>
	</target>
	<target name ="run" depends="compile">
		<java classname="HelloWorld">
			<classpath>
				<pathelement path="build/classes"/>
			</classpath>
		</java>
	</target>
	<target name="jar" depends="run">
		<jar destfile="helloworld.jar" basedir="build/classes">
			<manifest>
				<attribute name="Main-class" value="HelloWorld"/>
			</manifest>
		</jar>
	</target>
</project>

6.最终效果如下:

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值