现在我们已经了解如何定义属性、依赖关系以及如何运行ant,接下来我们将学习怎样使用ant编译java源代码并生成jar文件。

编译源代码

由于Ant的主要目标就是生成java应用程序,它内置了javac任务来调用java的编译器。此任务一般定义如下

Ant会寻找src目录下所有以.java为扩展名的所有文件,并对他们调用javac编译器,从而在build目录下生成class文件。Javac任务不仅会编译需要编译的源文件,如果某个类文件已经存在,但是对应的源代码文件自从该类文件生成后没有改过,则不会重新编译此源代码文件。

创建jar文件

在编译java源文件之后,通常会将其归档打包为一个jar文件。Jar任务通常如下定义

此任务将创建一个wufengtinghai.alm.jar文件,并将build下的所有文件打包到此jar文件中。如果没有指定清单文件,Ant则会生成一个基本的清单文件。Manifest属性允许制定一个清单文件,同时也可以使用manifest任务定义清单文件。

View Code

生成时间戳

在生成环境中使用当前时间和日期,可以以此种方式标记某个生成何时生成输出的。Ant提供了简单易用的tstamp任务可以完成这个功能。这个任务通常在生成过程开始时调用。Tstamp不产生任何的输出;相反,它会根据当前系统时间和日期设置Ant的相关属性。

DSTAMP:设置为当前日期,默认格式为yyymmdd,例如20150606

TSTAMP:设置为当前时间,默认格式为hhmm,例如1020

TODAY:设置为当前日期,带完整的月份,例如2015年6月6日

那我们可以将我们的jar文件定义为如下

最终我们的生成文件autobuildjava.xml如下

A simple auto build Java project

View Code

执行生成控制台输出如下

生成的jar文件和清单文件如下

ant java 返回_使用Ant自动化我们的java项目生成相关推荐

  1. 精通java图片_面试必备:详解Java I/O流,掌握这些就可以说精通了?

    Java IO概述 IO就是输入/输出.Java IO类库基于抽象基础类InputStream和OutputStream构建了一套I/O体系,主要解决从数据源读入数据和将数据写入到目的地问题.我们把数 ...

  2. lr java脚本_【上海校区】 LR Java脚本编写方法

    之前在某一家银行也接触过java写的性能接口脚本,最近因项目,也需编写java接口性能测试脚本,脑袋一下懵逼了,有点不知道从何入手.随后上网查了相关资料,自己又稍微总结了一下,与大家共同分享哈~ 首先 ...

  3. amd cpu不能在cmd环境下运行java代码_如何在Windows10中配置java的JDK环境

    今天给大家分享一下如何配置java的JDK环境.操作步骤如下: 1.下载好 jdk 的安装文件,我下载的是 jdk-10.0.1_windows-x64_bin.exe 这个版本的安装文件: 2.使用 ...

  4. 奥鹏教育微学吧JAVA答案_西交20秋《Java语言》在线作业【标准答案】

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 西交<Java语言>在线作业 试卷总分:100 得分:100 一.单选题 (共 30 道试题,共 60 分) 1.给出下面代码,关于该程序以下 ...

  5. 基础贴吧java代码_原来你是这样的JAVA[01]-基础一瞥

    1.Java是什么呢? Java不仅是一门语言,而且是一个完整的平台,有一个庞大的库,其中包含了很多可重用的代码和一个提供安全性.跨操作系统的可移植性以及自动垃圾收集等服务的执行环境. 2.JDK 和 ...

  6. 小白学习python好还是java好_小白应该学Python还是Java?

    Java和Python两门语言都是目前非常热门的语言,可谓北乔峰南慕容,二者不分上下,棋逢对手.但是对于初学者来说,非常困惑,因为时间和精力有限,上手必须要先学一门,到底选那个好呢,今天3分钟带你透彻 ...

  7. cmd编译java命令_使用CMD命令编译执行java命令

    写程序时,有时候需要动态编译执行,经过各种百度及实战,总结一些使用经验. .java文件分为有包名,无包名,又分为有jar包,无jar包,是否指定jre等等. 接下来总结如下: cmd 编译执行jav ...

  8. selenium java 验证码_如何使用Selenium WebDriver和Java从图像(验证码)中读取文本

    我有注册网页,但在最后验证码显示.. 我无法从图像中读取文本.我要提一下代码和输出.. @Test public void loginTest() throws InterruptedExceptio ...

  9. 零基础可以学习java吗_零基础真的可以学习java吗?

    Java是一个比较抽象的开发语言,涉及知识点比较多,如果自学的话,可以按照五个阶段来学习,先学好基础知识,再逐步扩展,由易到难.要注意视频和书本内容相辅相成,切记不要只看视频而不忽略书本基础的知识要点 ...

最新文章

  1. 从0到1构建数据科学竞赛知识体系,有夕,鱼佬,茂霖等竞赛大咖将特邀分享...
  2. StoreFront 2.5让XenDesktop和XenApp如虎添翼
  3. Android WebView 性能优化
  4. XJOI 3629 非严格次小生成树(pqq的礼物)
  5. 转载:vscode快捷键
  6. WEB-移动端图片适配-弹框
  7. 致远项目管理SPM系统案例:中建二局项目管理系统
  8. 同频切换的事件_目前现网中,LTE同频切换主要是通过A5事件进行触发
  9. chromium浏览器定制 | 高匿名爬虫随机指纹
  10. python中输出编码问题,pyspark、spark.show、
  11. 虚拟机linux环境的地址怎么映射给局域网内其他电脑访问
  12. UML--核心元素之参与者Actor
  13. 识别滑块缺口位置DLL
  14. 关于Excel不能多开多个窗口的问题
  15. 在centos7 下安装python3.6
  16. java计算机毕业设计绿叶有限公司工资管理信息系统源码+系统+mysql数据库+lw文档
  17. 财富可敌42个国家:金融巨鳄索罗斯的传奇
  18. 【gdoi2018 day1】小学生图论题
  19. 线性分组码之认识循环码
  20. Qt学习总结之QComboBox

热门文章

  1. c++ websocket客户端_websocket使用
  2. android webview 监听js,Android webview与js的数据交互
  3. php从网页获得数据,php根据URL获得网页内容
  4. C语言小项目(画机器猫)
  5. 计算机一级windows7操作,计算机等级一级:Windows7应用之小技巧
  6. python都有哪些包装_Python基础:21包装
  7. yii2 提供接口给java_yii2写api接口步骤
  8. 域名带后缀_[Python 爬虫]获取顶级域名及对应的 WHOIS Server 及 whoisservers.txt 下载...
  9. 基于jmx监控kafka_0542-6.1.0-非安全环境下Kafka管理工具Kafka Eagle安装使用
  10. 阿里云 linux mysql数据库_Linux Mysql数据库安全配置