Ant(1)
来源:互联网 发布:大数据修炼系统女主 编辑:程序博客网 时间:2024/06/13 01:28
1.在我们刚学JAVA的时候,我们编译后的产生的.class文件,都是在编译的源文件所在的文件夹生成的,由于是初学,编译成功后基本上来说就不用再维护了,所以编译生成的.class文件放在源文件夹所在目录也无所谓。但是,在实际项目中,一个项目有很多个程序,多个子程序组成一个大的程序。而且这些程序编译成功以后,在以后的不确定的时间里面,还有可能需要重新修改,这就涉及一个问题,例如:一个大程序中由10个小程序组成,而我们要修改其中的第5个小程序,修改完以后我们还要把整个大程序运行一遍。那么我们就要一个一个的编译每个小程序。显然这样的方法是不行的,对一个大的项目,我们应该把以前编译成功的小程序连接起来,就像用录像机把整个实现的过程录下来,以后要用的时候,放录像来看,就能把以前的工作重新做一遍,而不用手工再重新做一次,这样,效率大为提高了。
2.ant就有用来实现类似于录像机的功能。它首先要建立一个build.xml的文件。
build.xml文件的功能就相当于录像机,通过build.xml,你可以把每个需要编译的小程序记录起来,方法是:
(1). 先建立一个工程标签对<project></project>,其中第一个标签,也就是开始标签,有两个主要的属性:一个是 name,一个是default。name属性就是工程的名称。default就是运行这个project文件的时候,先起动哪个程序,缺省值是从下面的第一个开始执行!
(2).第二个就是<target></target>标签对,这个标签对的作用就是:在标签对中间可以实现一个或多个任务,它也有两个主要的属性:name和depends。name也就是任务的名称,depends的作用是在运行它所属的任务之前,必须要实现的任务。
(3).在<target>标签对中,有很多可以执行的任务。例如:mkdir,javac,java等(今天就学到了这三个).mkdir的作用是新建一个空文件夹。javac的作用是编译指定路径(srcdir)的源文件并将生成的.class文件放到指定的目录 (destdir).
3.ant,首先得增加path,把ant的path增加进系统的path,要注意的一个问题是:如果是在DOS命令行窗口增加的path,例如:set path=%path%;C:\apache-ant-1.6.5\bin; 在%path%之后必须要有";"号.
3. 面通过一个例子来演示如何使用ant。这个例子的功能是:编译一个文件夹下的源文件,然后将产生的.class文件存放到一个指定的文件夹(这里是.\ dest,使用的是相对路径);然后运行编译成功的.class,最后使用delete删除一个目录(这里是删除刚刚创建的目录)。
例子如下:<project name="firstdest" default="compile">
<!--其中,project定义一个工程,名称为:"firstdest",默认运行的文件是"compile".-->
<property name="src.dir" value="src"/>
<!--property的作用是定义程序运行时所需要的属性,name就是定义的属性名,value就是属性值,这行代码的意思就是定义了一个属性名称src.dir,值就是在当前目录下的src目录。-->
<property name="dest.dir" value=".\dest"/> <!--这里使用了相对目录".\dest"。-->
<property name="classname" value="hello"/> <!--定义了一个类的名字-->
<property file="test.property"/> <!--如果使用file属性,就可以把上面所做的工作在另一个文件里面来完成,如上面的这条语句,在test.property文件里是这样定义的classname=hello,当程序要运行到这个属性的时候,它会自动在test.property文件寻找. 注意的是:像dest.dir这个属性,在test.property文件里面是不能直接写成dest.dir=.\dest的,要写成dest才能正常运行-->
<target name="init"> <!--target相当于一个工程里面的一个项目-->
<mkdir dir="dest"/> <!--创建一个文件夹,名称为dest -->
</target>
<target name="compile" depends="init"> <!--一个项目,它运行的时候要依赖于"init",就是运行compile之前必须先运行"init"-->
<javac srcdir="${src.dir}" destdir="dest"/>
</target>
<target name="run" depends="compile">
<java classname="${classname}" classpath="${dest.dir}"/>
</target>
<target name="delete" depends="run">
<delete dir="${dest.dir}"/>
</target>
</project>
4.使用ant工具,我们一般来说要手动设置JAVA_HOME,如果不手动设置JAVA_HOME,则ant会自动寻找,但不一定能正确找得到,如果找不到,则ant会报错,提示找不到运行所需的path。
小技巧:使用ant怎么编译当前目录下的.class文件(就是与build.xml同一级目录的class)?如果要编译的文件与build.xml在同一个目录,那么编译的路径为"./."或者"./"。
暂时想得这么多了,以后想到再加!!
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1128335
2.ant就有用来实现类似于录像机的功能。它首先要建立一个build.xml的文件。
build.xml文件的功能就相当于录像机,通过build.xml,你可以把每个需要编译的小程序记录起来,方法是:
(1). 先建立一个工程标签对<project></project>,其中第一个标签,也就是开始标签,有两个主要的属性:一个是 name,一个是default。name属性就是工程的名称。default就是运行这个project文件的时候,先起动哪个程序,缺省值是从下面的第一个开始执行!
(2).第二个就是<target></target>标签对,这个标签对的作用就是:在标签对中间可以实现一个或多个任务,它也有两个主要的属性:name和depends。name也就是任务的名称,depends的作用是在运行它所属的任务之前,必须要实现的任务。
(3).在<target>标签对中,有很多可以执行的任务。例如:mkdir,javac,java等(今天就学到了这三个).mkdir的作用是新建一个空文件夹。javac的作用是编译指定路径(srcdir)的源文件并将生成的.class文件放到指定的目录 (destdir).
3.ant,首先得增加path,把ant的path增加进系统的path,要注意的一个问题是:如果是在DOS命令行窗口增加的path,例如:set path=%path%;C:\apache-ant-1.6.5\bin; 在%path%之后必须要有";"号.
3. 面通过一个例子来演示如何使用ant。这个例子的功能是:编译一个文件夹下的源文件,然后将产生的.class文件存放到一个指定的文件夹(这里是.\ dest,使用的是相对路径);然后运行编译成功的.class,最后使用delete删除一个目录(这里是删除刚刚创建的目录)。
例子如下:<project name="firstdest" default="compile">
<!--property的作用是定义程序运行时所需要的属性,name就是定义的属性名,value就是属性值,这行代码的意思就是定义了一个属性名称src.dir,值就是在当前目录下的src目录。-->
</project>
4.使用ant工具,我们一般来说要手动设置JAVA_HOME,如果不手动设置JAVA_HOME,则ant会自动寻找,但不一定能正确找得到,如果找不到,则ant会报错,提示找不到运行所需的path。
小技巧:使用ant怎么编译当前目录下的.class文件(就是与build.xml同一级目录的class)?如果要编译的文件与build.xml在同一个目录,那么编译的路径为"./."或者"./"。
暂时想得这么多了,以后想到再加!!
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1128335
- Ant-1
- Ant(1)
- Ant应用(1)
- Ant全攻略1
- Ant学习(1)
- ant初始1
- JacORB2.1 ,ant入门教程
- Ant Series 1
- Ant 一些知识1
- ant简例1
- Ant学习笔记1
- Ant学习笔记1
- Ant 语法1-
- ant入门配置1
- ANT学习1
- Ant-1-使用总结
- ANT(1) 入门
- ant示例文件1
- Qt程序设计——实现以项目管理文件的功能:创建和打开项目
- 比较C++中的4种类型转换方式
- HDU 4151The Special Number(暴力+二分)
- Linux Kernel Development——定时器和时间管理
- HDU 1010——Tempter of the Bone
- Ant(1)
- Win7系统下解决魔兽争霸全屏问题
- 转置
- C++标准库 Numeric limits climits cfloat cstdint
- 虚拟机下Ubuntu修改root密码
- web项目中的乱码问题的原因及解决办法
- Windows Phone 7使用本地数据库
- 开发者需知的10类工具
- 黑马程序员-java学习之String字符串类