3.1 编写功能完善的配置文件

进一步用好ANT,现在开始学习ANT的配置文件build.xml的详细用法,。

3.1.1 创建工程目录

命令行效果如下:

song@ubuntu:~$ cd projectsong@ubuntu:~/project$ mkdir t03song@ubuntu:~/project$ cd t03song@ubuntu:~/project/t03$

3.1.2 编辑完善的配置文件

编辑配置文件project/t03/build.xml,内容如下:

3.1.3 配置文件说明

关于工程(project) 工程的名称(name),此文件中值为hello; 工程的基准目录(basedir),此文件中值为.,即为当前目录; 工程的默认任务(default),此文件中值为main,即名为main的任务

关于属性(property),相当于程序中的变量 属性定义: 属性引用:${属性名}

源代码目录:src.dir,相当于./src

构建目录:build.dir,相当于./build

CLASS文件目录:class.dir,相当于./build/classes

JAR包目录:jar.dir,相当于./build/jar

版本号:version,值为1.0

全名:fullname,值为ant.project.name-version,即hello-1.0

主类名:main-class,值为my.app.Hello

关于任务(target)

任务关联(depends),指定关联的任务的名称,则在执行此任务前一定要执行关联的任务,即只有执行完关联的任务,才会执行当前任务。

关于动作(task),请参考:http://ant.apache.org/manual/tasklist.html

加入属性定义后,使配置文件更具可读性了,也更灵活了,我们可以编写更复杂功能更强大的配置文件了,所以一定义要学习使用;加入关联(depends)后,使我们自定义任务的逻辑关联和执行顺序联系更紧密了,步骤更清晰了,这无疑是我们想要的。

3.2 编译源码

编辑配置文件build.xml完成后,我们就可以开始编辑简单的源代码来练习使用ANT了。

3.2.1 编辑源码

源代码文件project/t03/src/my/app/Hello.java,内容如下:

package my.app;public class Hello { public static void main(String[] args) { System.out.println("Hello World!"); }}

因为目的是练习使用ANT,所以源码没有改变,可以复制t02中的源码,命令行如下:

song@ubuntu:~/project/t03$ cp -r ../t02/src .

3.2.2 编译运行

直接在命令行输入ant,效果如下:

song@ubuntu:~/project/t03$ antBuildfile: /home/song/project/t03/build.xmlclean:compile: [mkdir] Created dir: /home/song/project/t03/build/classes [javac] Compiling 1 source file to /home/song/project/t03/build/classesjar: [mkdir] Created dir: /home/song/project/t03/build/jar [jar] Building jar: /home/song/project/t03/build/jar/hello-1.0.jarrun:[java] Hello world!main:BUILD SUCCESSFULTotal time: 1 second

输出以上信息,说明清除、编译、打包、运行四个动作成功连续运行(这都是关联的结果)。

当然也可以单独运行,如果要清除编译结果,运行ant clean命令,效果如下:

song@ubuntu:~/project/t03$ ant cleanBuildfile: /home/song/project/t03/build.xmlclean: [delete] Deleting directory /home/song/project/t03/buildBUILD SUCCESSFULTotal time: 0 seconds

3.2.3 工程的目录结构

我们测试时的工程目录结构是非常简单的:

源码目录:src

编译结果class文件目录:build/classes

编译结果jar文件目录:build/jar

关于工程的目录结构一定要形成自己的风格,而且也要别人能读懂,这才是最好的。

只管理了一个简单的工程,下一章节研究如何管理多个工程,多个子目录,每个子目录下都有源码。

本文转载自:图灵社区

欢迎加入我爱机器学习QQ14群:336582044

微信扫一扫,关注我爱机器学习公众号

java 命令行 配置文件_命令行玩JAVA : 完善ANT的配置文件相关推荐

  1. java获取文件中的行号_如何取的Java源代码文件中文件名和行号

    如何取的Java源代码文件中文件名和行号:) 在C/C++的程序,编译器提供了两个宏来支持取得源文件中的行号和文件名,这两个宏是__FILE__,__LINE__ 你可以如下的方法打印行号和文件名 查 ...

  2. java发送get请求_如何快速掌握Java技术 Tomcat知识点有哪些

    如何快速掌握Java技术?Tomcat知识点概述有哪些?每一个对JavaWeb有所了解的人,都知道Tomcat是干什么用的!对,它是一个Servlet和JSP容器.然而,即使看过.使用过Tomcat, ...

  3. java的flex开发_繁忙的Flex Java开发人员指南

    java的flex开发 除非您在过去的四年左右的时间里一直从相当大的巨石下面编写代码,否则对于所有出色的孩子来说,"富Internet应用程序"或" RIA"的 ...

  4. java class 文件分析_大概优秀的java程序员都要会分析class文件吧

    相信大家在学java的时候都会听到这样的一些结论: enum 是一个类 泛型的实现使用了类型擦除技术 非静态内部类持有外部类的引用 需要将自由变量声明成final才能给匿名内部类访问 ... 初学的时 ...

  5. 中软国际java开发面试题_中软国际java面试题及参考答案

    面试题是中软国际java个人求职者在面试过程中的敲门砖,以下是小编为大家收集到的,希望对大家有帮助! :填空题 1Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点? B ...

  6. java下拉菜单_薪资对比:Java开发和web前端薪资哪个好

    Web前端开发和Java开发哪个薪资更高,Web前端开发和Java开发发展前景更好? 互联网行业飞速发展,因此有很多小伙伴想要进入IT行业分一杯羹,但是学什么技术更好,哪一个语言的就业薪资更高,就成了 ...

  7. java 基础 笔试题_非常全面的java基础笔试题

    1.下列说法正确的是() (程序结构) A java程序的main方法必须写在类甩面 B java程序中可以有多个main方法 C.java程序中类名必须与文件名一样 D.JAVA程序的main方法中 ...

  8. 我的世界java服核心下载_我的世界java版

    我的世界java版手机下载是一款高自由度的沙盒模拟建造游戏,这个版本是Java版本,增加了很多不同的游戏生物,还有超多好玩的游戏内容,感兴趣的玩家们千万不要错过了,快来下载这款我的世界java版1.1 ...

  9. java主要内存区域_可能是把Java内存区域讲的最清楚的一篇文章

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 介绍下 Java 内存区域(运行时数据区) Java 对象的创建过程(五步,建议能默写出来并且要知道每一步虚拟机做了什么) 对象的访问定位的两种方式(句柄 ...

最新文章

  1. 剑指Offer - 九度1511 - 从尾到头打印链表
  2. C. Three Parts of the Array(切割字符串)
  3. 03_Flink本地安装、分别解压scala和Flink、配置环境变量、启动集群、提交一个job、停止集群
  4. IntelliJ IDEA内部设计
  5. python numpy ndarray之basic operations
  6. ACM学习历程—HihoCoder1309任务分配(排序 贪心)
  7. [牛感悟系列]JAVA(1)理解JAVA垃圾回收
  8. Spark Streaming实现WordCount
  9. 思科OSPF配置实例(转)
  10. php电子面单打印快递100,使用快递100软件打印电子面单设置操作教程
  11. vue keep-alive案例全教程
  12. idea里面java文件只读,Java只读集合
  13. 【JS逆向】无限debugger实战之八仙过海,各显神通。
  14. 浅谈framework之PowerManagerService
  15. VirtualBox管理工具Vboxmanage
  16. HTTPS安全通信:HTTPS与SSL
  17. 数据预处理的步骤和方法
  18. 小程序选择手机图片后 压缩图片 转码base64
  19. Solidity之事件
  20. 单片机控制直流电机c语言代码,用51单片机控制直流电机

热门文章

  1. 将预训练模型应用于长文本阅读理解
  2. PJSIP开源库详解
  3. 【LeetCode 3-中等】无重复字符的最长子串(高清截图)
  4. 讨教学员备考经验|高分上岸中质协六西格玛黑带!
  5. ofdm系统matlab仿真,基于Simulink 的OFDM 系统仿真分析
  6. RevMan 5.3.5 Mac/Linux/Win 强大的Meta分析工具
  7. 如何在微前端中加载 Vite 应用?
  8. 计算机电源5v有多大电流,计算机电源多大?
  9. 用javaweb连接数据库用javabean、severlet实现增删改查
  10. 哈工大深圳计算机研究生院导师,哈工大深圳研究生院学科设置及合作导师情况.doc...