ant入门
来源:互联网 发布:小子安知壮士志哉翻译 编辑:程序博客网 时间:2024/06/15 15:01
一个简单的ant脚本:
<?xml version="1.0" encoding="UTF-8"?>
<project name="helloworld" default="run" basedir=".">
<property name="lib" value="lib"/>
<property name="src" value="src"/>
<property name="dest" value="bulid/classes"/>
<property name="hello_jar" value="hello1.jar"/>
<target name="init" depends="clean">
<mkdir dir="${dest}"/>
</target>
<target name="clean">
<delete dir="${dest}"></delete>
<delete dir="${lib}"></delete>
</target>
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${dest}"></javac>
</target>
<target name="build" depends="compile">
<mkdir dir="${lib}"/>
<jar jarfile="${lib}/${hello_jar}" basedir="${dest}"></jar>
</target>
<target name="run" depends="build">
<java classname="test.HelloWorld" classpath="${lib}/${hello_jar}"></java>
</target>
</project>
、
逐个解析上诉代码中出现的知识点。
1.<project name="helloworld" default="run" basedir=".">
每个ant必须要有一个project,名字自定义,默认执行run操作,根目录为当前目录(即build.xml所在同级目录)。
2.<property name="lib" value="lib"/>
定义属性,名称为lib,值为lib
也可以这样写<property file="property.properties">
这样表示的意思为讲property.properties中所定义的属性全部引入使用。
3.<target name="init" depends="clean"><mkdir dir="${dest}"/></target>
target表示要执行的操作,名字为“init”,依赖于clean操作。
依赖的意思即是如果你想要执行本操作,需要确定依赖的操作已经完成。比如在这行代码中,只有clean这个target完成了才可以执行init这个操作。
如果多个target同时依赖于同一个target,只要这个target执行过一遍即可,不需要反复执行
4.<delete dir="${dest}"></delete>
删除dir,值为dest变量所对应的值
5.<javac srcdir="${src}" destdir="${dest}"></javac>
<javac>表示编译操作,编译目录为src文件夹,生成的编译文件在dest文件夹下(项目名/编译好的java文件)
6.<mkdir dir="${lib}"/><jar jarfile="${lib}/${hello_jar}" basedir="${dest}"></jar>
<mkdir>创建目录lib <jar>将basedir中的文件打包成为jar文件,名字为hello.jar,在lib目录下。解压jar文件,可以看到有两个文件夹metainf和test
test文件夹中有HelloWorld.java文件。
7.<java classname="test.HelloWorld" classpath="${lib}/${hello_jar}"></java>
<java>执行java文件,类名为test.HelloWorld.java classpath为lib/hello.jar 实际进行的操作是这样的,首先,根据classpath找到相应的环境,也就是hellojar包,然后根据classname进行查找,看是否有test.HelloWorld文件,有则执行相应的文件。。。。
- ant 入门
- Ant入门
- Ant入门
- ant 入门
- ant入门
- Ant入门
- ant入门
- Ant入门
- Ant入门
- Ant 入门
- Ant入门
- ant入门
- Ant入门
- Ant入门
- ant 入门
- ant入门
- ant 入门
- Ant入门
- Impala thrift API接口使用事例
- 理解产品、交互和运营
- 图片上传和显示
- Android中EditText的设置02
- 照猫画虎学gnuplot之简介
- ant入门
- Practical Difference between Const & ReadOnly
- android导入项目常见问题解决
- epoll、select、poll比较及其epoll的实现原理
- SpringMVC整合Ehcache
- 推荐两款Xcode插件:KSImageNamed & ColorSense
- Vim编译器配合ctags实现函数原型快速定位
- 手机摄像头图像在电脑上显示-实现视频监控
- 树状数组基本概念