博客《Ant—使用Ant构建一个简单的Java项目(一)》演示了使用Ant工具构建简单的Java项目,接着这个样例来进一步学习Ant:

上面样例须要运行多条ant命令才干运行Test类中的main函数,能不能简化须要运行命令呢?答案是肯定的,能够将build.xml文件里的脚本改成以下的脚本:

<?

xml version="1.0" encoding="UTF-8"?> <project name="test" default="run-Test" basedir="."> <property name="src" value="src"/> <property name="lib" value="build/lib"/> <property name="dest" value="build/classes"/> <property name="np_jar" value="build/lib/test.jar"/> <target name="create-path"> <mkdir dir="${dest}"/> <mkdir dir="${lib}"/> </target> <target name="create-class" depends="create-path"> <javac srcdir="${src}" destdir="${dest}"/> </target> <target name="create-jar" depends="create-class"> <jar destfile="${np_jar}" basedir="${dest}"> <manifest> <attribute name="Main-Class" value="Test"/> </manifest> </jar> </target> <target name="run-Test" depends="create-jar"> <java classname="Test" classpath="${np_jar}"/> </target> <target name="clean"> <delete file="${np_jar}"/> <delete dir="${dest}"/> <delete dir="${lib}"/> </target> </project>

这时仅仅需运行ant命令就能够操作完毕须要依次运行“ant create-path”、“ant create-class”、“ant create-jar” 和“ant run-Test”命令才干完毕的操作,那么它是如何做到的呢?

a、因为project标签default属性定义的值为run-Test,所以当直接运行ant命令时ant会首先运行name为run-Test的target;

b、因为name为run-Test的target中的depends属性指向name为create-jar的target,所以会先运行name为create-jar的target;

c、因为name为create-jar的target中的depends属性指向name为create-class的target。所以会先运行name为create-class的target;

d、因为name为create-class的target中的depends属性指向name为create-path的target,所以会先运行name为create-path的target。

e、因为name为create-path的target没有depends属性。所以ant命令终于先运行该target。

由此可见。此时单独运行ant命令事实上就是依次运行了“ant create-path”、“ant create-class”、“ant create-jar” 和“ant run-Test”命令。

DOS窗体单独运行ant命令的结果例如以下图:

版权声明:本文博客原创文章。博客,未经同意,不得转载。

转载于:https://www.cnblogs.com/gcczhongduan/p/4714772.html

Ant—使用Ant构建一个简单的Java工程(两)相关推荐

  1. idea建立一个java工程_IntelliJ IDEA(三、各种工程的创建 -- 之一 -- 创建一个简单的Java工程)...

    一.创建一个简单的Java工程:HelloWorld 1. Eclipse的第一步是选择工作空间,然后创建项目: IDEA不同(没有工作空间的概念),第一步就直接创建具体的项目,项目创建过程中会选择在 ...

  2. 基于 MQTT 通讯一个简单的 Java工程

    这篇文章也是记录一下我当时为了能够测试一个MQTT方案学习设计的一个手机APP, 要特别感谢B站UP主 阿正啷个哩个啷,整个程序从0开始写,后期向同事请教,添加了部分功能模块 本文针对Java 0基础 ...

  3. java jsf_使用Java和JSF构建一个简单的CRUD应用

    java jsf 使用Okta的身份管理平台轻松部署您的应用程序 使用Okta的API在几分钟之内即可对任何应用程序中的用户进行身份验证,管理和保护. 今天尝试Okta. JavaServer Fac ...

  4. 使用Java和JSF构建一个简单的CRUD应用

    使用Okta的身份管理平台轻松部署您的应用程序 使用Okta的API在几分钟之内即可对任何应用程序中的用户进行身份验证,管理和保护. 今天尝试Okta. JavaServer Faces(JSF)是用 ...

  5. 一个简单的Java EEDocker示例

    本文讲的是一个简单的Java EE&Docker示例,[编者的话]学习Docker的最好办法就是迅速在工作中应用它,本文作者使用Docker部署了一个Java EE应用,非常简单和方便.需要注 ...

  6. 一个简单的Java程序:My first Java!

    ** 这是一个简单的Java程序 当我们安装完java,构建好环境变量,安装完Eclipse IDE之后,就可以编写我们的第一个java程序了. 进入Eclipse后,我们先见一个java项目,命名为 ...

  7. java 序列化 例子_一个简单的Java序列化的例子

    简单来说序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化,流的概念这里不用多说(就是I/O),我们可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间(注:要想将对 ...

  8. java 语言 写字板_一个简单的java语言写字板.docx

    一个简单的java语言写字板.docx 一个简单的JAVA语言写字板一.需求分析1.需求分析:现在网络上各种文档编辑器数不胜数.功能也是应有尽有,有能改变字体的,有可以改变字体颜色的,但是,这些软件有 ...

  9. python构建知识图谱_NLP第20课:Neo4j 从入门到构建一个简单知识图谱

    Neo4j 对于大多数人来说,可能是比较陌生的.其实,Neo4j 是一个图形数据库,就像传统的关系数据库中的 Oracel 和 MySQL一样,用来持久化数据.Neo4j 是最近几年发展起来的新技术, ...

最新文章

  1. 1组合逻辑电路--多路选择器与多路分解器
  2. 2019 Multi-University Training Contest 4 - K-th Closest Distance
  3. QT 中 界面中消息的停留时间解决方案 以及 label 中字体大小和换行设置
  4. 51 执行远程命令(Paramiko)
  5. 我的世界java版导入地图_网易我的世界备份与导入地图
  6. Codeup墓地-问题 D: 继续畅通工程
  7. 厉害了!Intel第九代酷睿参数曝光
  8. 对于一颗完全二叉树,要求给所有节点加上一个pNext指针,指向同一层的相邻节点;如果当前节点已经是该层的最后一个节点,则将pNext指针指向NULL;给出程序实现,并分析时间复杂度和空间复杂度。
  9. python开发系统架构设计师_系统架构设计师在线题库
  10. SpringBoot集成MyBatis-Plus代码生成器(Dao)
  11. java线程的小问题与回答
  12. Buses and People CodeForces 160E 三维偏序+线段树
  13. IaaS(基础设施即服务),PaaS(平台即服务),SaaS(软件即服务)的区别
  14. 软件开发应遵循的原则
  15. iOS自动化测试环境搭建总结
  16. 自定义圆环形进度条实现
  17. tensorflow 歌曲题材分类
  18. Python中计算圆的周长,面积
  19. 乌班图16设置固定(静态)ip
  20. 电解电容和钽电容的区别

热门文章

  1. 收集100 个网络基础知识
  2. 空间句法软件_【特训营报名】空间句法理论与实践应用(第二期更新版)丨城市数据派...
  3. 远程控制工具_不要让您的工具控制您
  4. linkedin爬虫_重新设计Linkedin的指导功能-用户体验案例研究
  5. React Hooks 完全使用指南
  6. 一张图理解buffer与cache
  7. 解决JS浮点数(小数)计算加减乘除的BUG
  8. gulp版本号管理插件注意事项
  9. 前端应该掌握的网络知识(1)
  10. 添加Chrome插件(Github上下载的压缩文件)