简单Ant入门实例_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 简单Ant入门实例

简单Ant入门实例

 2010/12/11 11:31:45  iblike  http://iblike.javaeye.com  我要评论(0)
  • 摘要:一,构建ant环境要使用ant首先要构建一个ant环境,步骤很简单:1),安装jdk,设置JAVA_HOME,PATH,CLASS_PATH(这些应该是看这篇文章的人应该知道的)2),下载ant地址www.apache.org找一个你喜欢的版本,或者干脆最新的版本3),解压ant你得到的是一个压缩包,解压缩它,并把它放在一个尽量简单的目录,例如D:\ant-1.6虽然你不一定要这么做,但这么做是有好处的。4),设置ANT_HOMEPATH中添加ANT_HOME目录下的bin目录5)
  • 标签:实例 Ant

,构建ant环境

要使用ant首先要构建一个ant环境,步骤很简单:

1),安装jdk,设置JAVA_HOME ,PATH ,CLASS_PATH(这些应该是看这篇文章的人应该知道的)

2),下载ant 地址www.apache.org找一个你喜欢的版本,或者干脆最新的版本

3),解压ant 你得到的是一个压缩包,解压缩它,并把它放在一个尽量简单的目录,例如D:\ant-1.6虽然你不一 定要这么做,但这么做是有好处的。

4),设置ANT_HOME PATH中添加ANT_HOME目录下的bin目录

5),测试一下你的设置,开始-->运行-->cmd进入命令行-->键入 ant 回车,如果看到

Buildfile: build.xml does not exist!

Build failed

那么恭喜你你已经完成ant的设置

,体验ant

就像每个语言都有HelloWorld一样,一个最简单的应用能让人感受一下Ant

1,首先你要知道你要干什么,我现在想做的事情是:

--编写一些程序

--编译它们

--把它打包成jar

--把他们放在应该放置的地方

--运行它们

这里为了简单起见只写一个程序,就是HelloWorld.java程序代码如下:

package test.ant; 

public class HelloWorld{ 

public static void main(String[] args){ 

System.out.println("Hello world1"); 

} 

}; 

?

2,为了达到上边的目的,你可以手动的用javac copy jarjava来完成,但是考虑一下如果你有成百上千个类,在多次调试,部署的时候,一次次的javac copyjarjava那将是一份辛苦的工作。现在看看ant怎么优雅的完成它们。??

?

要运行ant需要有一个build.xml虽然不一定要叫这个名字,但是建议你这么做

下边就是一个完整的build.xml,然后我们来详细的解释每一句

<?xml version="1.0" encoding="UTF-8" ?> 
<project name="HelloWorld" default="run" basedir="."> 

<property name="src" value="src"/> 

<property name="dest" value="classes"/> 

<property name="hello_jar" value="hello1.jar"/> 

<target name="init"> 

<mkdir dir="${dest}"/> 

</target> 

<target name="compile" depends="init"> 

<javac srcdir="${src}" destdir="${dest}"/> 

</target> 

<target name="build" depends="compile"> 

<jar jarfile="${hello_jar}" basedir="${dest}"/> 

</target> 

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

<java classname="test.ant.HelloWorld" classpath="${hello_jar}"/> 

</target> 

<target name="clean"> 

<delete dir="${dest}" /> 

<delete file="${hello_jar}" /> 

</target> 

<target name="rerun" depends="clean,run"> 

<ant target="clean" /> 

<ant target="run" /> 

</target> 

</project> 
?


?

解释:

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

build.xml中的第一句话,没有实际的意义??

---<project name="HelloWorld" default="run" basedir=".">

</project>

ant的所有内容必须包含在这个里边,name是你给它取的名字,basedir故名思意就是工作的根目录 .代表当前目录。default代表默认要做的事情。?

---<property name="src" value="src"/>

类似程序中的变量,为什么这么做想一下变量的作用??

---<target name="compile" depends="init">

<javac srcdir="${src}" destdir="${dest}"/>

</target>

把你想做的每一件事情写成一个target ,它有一个名字,depends是它所依赖的target,在执行这个target 例如这里的compile之前ant会先检查init是否曾经被执行过,如果执行过则直接直接执行compile,如果没有则会先执行它依赖的target例如这里的init,然后在执行这个target??

---如我们的计划

编译:

<target name="compile" depends="init">

<javac srcdir="${src}" destdir="${dest}"/>

</target>??

---jar:

<target name="build" depends="compile">

<jar jarfile="${hello_jar}" basedir="${dest}"/>

</target>

---运行:

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

<java classname="test.ant.HelloWorld" classpath="${hello_jar}"/>

</target>

---为了不用拷贝,我们可以在最开始定义好目标文件夹,这样ant直接把结果就放在目标文件夹中了

---新建文件夹:

<target name="init">

<mkdir dir="${dest}"/>

</target>

---为了更多一点的功能体现,又加入了两个target

删除生成的文件

<target name="clean">

<delete dir="${dest}" />

<delete file="${hello_jar}" />

</target>

---再次运行,这里显示了如何在一个target里边调用其他的target

<target name="rerun" depends="clean,run">

<ant target="clean" />

<ant target="run" />

</target>?

?

好了,解释完成了,下边检验一下你的ant

新建一个src的文件夹,然后把HelloWorld.java按照包目录放进去

做好build.xml文件

在命令行下键入ant ,你会发现一个个任务都完成了。每次更改完代码只需要再次键入ant

?有的时候我们可能并不想运行程序,只想执行这些步骤中的某一两个步骤,例如我只想重新部署而不想运行,键入

ant build??

ant中的每一个任务都可以这样调用ant + target name

好了,这样一个简单的ant任务完成了。

?

简单总结:

一、环境搭建

二、程序编写

三、编写Ant构建文件build.xml

?? 1、ant的所有内容必须包含在这个里边,name是你给它取的名字,basedir故名思意就是工作的根目录 .代表当前目录。default代表默认要做的事情。

?????? 2、变量:property

?????? 3、把你想做的每一件事情写成一个target ,它有一个名字,depends是它所依赖的target,在执行这个target 例如这里的compile之前ant会先检查init是否曾经被执行过,如果执行过则直接直接执行compile,如果没有则会先执行它依赖的target例如这里的init,然后在执行这个target

???????4、javac 、java、jar、mkdir、delete任务

?

?

?

发表评论
用户名: 匿名