ant的安装和使用

1.ant的安装

  1.1 添加环境变量:ANT_HOME=D:\software\ant\apache-ant-1.10.1

    在path中添加:%ANT_HOME%\bin

  1.2 测试是否安装成功

    在cmd中输入ant,如果出现如下提示表示安装成功

    

2.定义简单的build.xml

  2.1 创建HelloWord.java

package test;
public class HelloWorld{public static void main(String[] args){System.out.println("hello world!");}
}

  2.2 创建build.xml

<?xml version="1.0" encoding="UTF-8" ?><!-- 定义project节点,和默认运行的target,和工作根目录 -->
<project name="HelloWorld" default="run" basedir="."><!-- 定义变量 --><property name="src" value="src"/><property name="dest" value="classes"/><property name="hello_jar" value="hello.jar"/><!-- 定义target --><target name="init"><!-- 创建目录 --><mkdir dir="${dest}"/></target><!-- depends:依赖的target --><target name="compile" depends="init"><!-- 将srcdir目录中的文件进行编译,并将编译后的文件放入到destdir目录中 --><javac srcdir="${src}" destdir="${dest}"/></target><target name="build" depends="compile"><!-- 将basedir目录中的文件打成jar包 --><jar jarfile="${hello_jar}" basedir="${dest}"/></target><target name="run" depends="build"><!-- 运行classname --><java classname="test.HelloWorld" classpath="${hello_jar}"/></target><target name="clean"><!-- 删除dir目录和file文件 --><delete dir="${dest}"/><delete file="${hello_jar}"/></target><target name="rerun" depends="clean,run"><!-- 运行clean和run target --><ant target="clean"/><ant target="run"/></target>
</project>

3. 合并多个build.xml

  3.1 假设下边有三个小组,每个小组负责一部分,他们每个下面都有src和build.xml

  3.2 创建一个总的build.xml

<?xml version="1.0" encoding="UTF-8"?>
<project name="main" default="build" basedir="."><property name="bin" value="${basedir}\bin"/><property name="src1" value="${basedir}\src1"/><property name="src2" value="${basedir}\src2"/><property name="src3" value="${basedir}\src3"/><target name="init"><mkdir dir="${bin}"/></target><target name="run"><!-- 分别运行各个目录下的target --><ant dir="${src1}" target="run"/><ant dir="${src2}" target="run"/><ant dir="${src3}" target="run"/></target><target name="clean"><ant dir="${src1}" target="clean"/><ant dir="${src2}" target="clean"/><ant dir="${src3}" target="clean"/></target><target name="call"><ant dir="${src1}" target="build"/><ant dir="${src2}" target="build"/><ant dir="${src3}" target="build"/></target><target name="build" depends="init,call"><!-- 复制指定的文件到todir --><copy todir="${bin}"><fileset dir="${src1}"><include name="*.jar"/></fileset><fileset dir="${src2}"><include name="*.jar"/></fileset><fileset dir="${src3}"><include name="*.jar"/></fileset></copy></target><target name="rebuild" depends="build,clean"><ant target="clean"/><ant target="build"/></target>
</project>

3 使用properties文件配置属性,和公共xml

  3.1 创建all.properties设置变量

src1=D:\\software\\ant\\test\\test3\\src1
src2=D:\\software\\ant\\test\\test3\\src2
src3=D:\\software\\ant\\test\\test3\\src3

  3.2 创建include.xml,设置公共的变量和target

<?xml version="1.0" encoding="UTF-8"?>
<property name="src" value="src"/>
<property name="dest" value="classes"/>
<target name="test"><ant target="run"/>
</target>

  3.3 在总build中使用使用all.properties设置变量

<?xml version="1.0" encoding="UTF-8"?>
<project name="main" default="build" basedir="."><!-- 读取配置文件中的变量 --><property file="all.properties"/><property name="bin" value="${basedir}\bin"/><target name="init"><mkdir dir="${bin}"/></target><target name="run"><ant dir="${src1}" target="run"/><ant dir="${src2}" target="run"/><ant dir="${src3}" target="run"/></target><target name="clean"><ant dir="${src1}" target="clean"/><ant dir="${src2}" target="clean"/><ant dir="${src3}" target="clean"/></target><target name="call"><ant dir="${src1}" target="build"/><ant dir="${src2}" target="build"/><ant dir="${src3}" target="build"/></target><target name="build" depends="init,call"><copy todir="${bin}"><fileset dir="${src1}"><include name="*.jar"/></fileset><fileset dir="${src2}"><include name="*.jar"/></fileset><fileset dir="${src3}"><include name="*.jar"/></fileset></copy></target><target name="rebuild" depends="build,clean"><ant target="clean"/><ant target="build"/></target><target name="test"><ant dir="${src1}" target="test"/><ant dir="${src2}" target="test"/><ant dir="${src3}" target="test"/></target>
</project>

  3.4 在每个小组的build.xml中引用include.xml的变量和target

<?xml version="1.0" encoding="UTF-8" ?><!-- 引入外部的xml,在本xml中就可以使用引入的xml中的变量和target -->
<!DOCTYPE project[
<!ENTITY share-variable SYSTEM "file:../include.xml">
]><project name="HelloWorld" default="run" basedir="."><!-- 使用变量 -->&share-variable;<!-- 这两个变量在公用的xml中已经定义,使用&share-variable就可直接使用<property name="src" value="src"/><property name="dest" value="classes"/>--><property name="hello_jar" value="hello1.jar"/><target name="init"><mkdir dir="${dest}"/></target><target name="compile" depends="init"><javac srcdir="${src}" destdir="${dest}"/></target><target name="build" depends="compile"><jar jarfile="${hello_jar}" basedir="${dest}"/></target><target name="run" depends="build"><java classname="test.HelloWorld" classpath="${hello_jar}"/></target><target name="clean"><delete dir="${dest}"/><delete file="${hello_jar}"/></target><target name="rerun" depends="clean,run"><ant target="clean"/><ant target="run"/></target>
</project>

 

转载于:https://www.cnblogs.com/lifeone/p/7851785.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/256555.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Language-Directed Hardware Design for Network Performance Monitoring——Marple

网络监控困难 1、仅仅通过去增加特定的监控功能到交换机是不能满足运营商不断变化的需求的。&#xff08;交换机需要支持网络性能问题的表达语言&#xff09;2、他们缺乏对网络深处的性能问题进行本地化的可见性&#xff0c;间接推断网络问题的原因3、当前的交换机监控并没有提…

深度学习基础(四)优化函数(梯度下降函数)

梯度下降函数也就是优化函数&#xff0c;在神经网络训练过程最重要的函数。重要程度类似于调校对于汽车的重要性&#xff0c;搭建模型和参数设置等操作“造好了一辆汽车”&#xff0c;优化函数“调校”。因为汽车最终的操控性和加速性能等指标很大程度取决于调校&#xff0c;调…

js 实现 复制 功能 (zeroclipboard)

#复制功能因访问权限和安全问题&#xff0c; 被浏览器禁了# 我要实现的功能&#xff1a;点击复制按钮&#xff0c;复制浏览器的当前页面地址&#xff0c;加上用户选择的参数&#xff08;用户查找过滤&#xff09;&#xff0c;直接将该链接发给别人&#xff0c;点击打开就是对应…

深度学习基础(二)激活函数

激活函数&#xff08;也被称为激励函数&#xff09;的意义就是加入非线性因素&#xff0c;使得神经网络具有非线性表达的能力。其必要条件是激活函数的输入和输出都是可微的&#xff0c;因为神经网络要求处处可微。(可微是指函数的各个方向可导&#xff0c;可微大于等于可导) …

Please ensure that adb is correctly located at……问题解决方案

启动android模拟器时.有时会报The connection to adb is down, and a severe error has occured.的错误.在网友说在任务管理器上把所有adb.exe关闭掉.重启eclipse.但试过不管用.所以在外国网站上找到一种可行的方法:1.先把eclipse关闭.2.在管理器转到你的android SDK 的platfor…

2016.8.23

1 贴吧里看到一个关于因为游戏闹翻的故事&#xff0c;大致情况是这样的&#xff1a;某女初中的时候有个闺蜜。后来此人因为抑郁之类的精神问题被送到医院&#xff0c;这让女主很苦闷且脆弱又孤单&#xff0c;这时候她的闺蜜去医院看望她&#xff0c;然后女主就喜欢上了这位闺蜜…

[Spring]01_环境配置

1.1 Spring jar包下载 &#xff08;1&#xff09;进入官网http://repo.spring.io &#xff08;2&#xff09;在资源库界面点击Artifacts标签&#xff0c;然后点击libs-release-local&#xff0c;展开后依次点击org -> springframework -> spring。 然后&#xff0c;就可…

深度学习基础(三)loss函数

loss函数&#xff0c;即损失函数&#xff0c;是决定网络学习质量的关键。若网络结构不变的前提下&#xff0c;损失函数选择不当会导致模型精度差等后果。若有错误&#xff0c;敬请指正&#xff0c;Thank you&#xff01; 目录 一、loss函数定义 二、常见的loss算法种类 1.M…

Shift键关闭大小写

同事说他的大写开了之后无法关闭&#xff0c;我检查了下&#xff0c;的确是&#xff0c;非常奇怪&#xff0c;然后我不小心按了下下面的Shift键&#xff0c;大写指示灯灭了&#xff0c;我立即明白是怎么回事&#xff0c;原来是文字和语言设置里的Key setting改了&#xff0c;如…

深度学习之pytorch(一) 环境安装

快2周没更新博客了&#xff0c;别问为什么&#xff01;我才不会告诉你忙的飞起&#xff01;说心里话&#xff0c;个人更喜欢用tensorflow来做深度学习&#xff01; 一、环境配置 1.win10 64位系统&#xff1b; 2.anaconda3&#xff1b; 3.不管是CPU还是GPU具有&#xff08;…

CAD——将图形移动到指定点的方法(此处以捕捉坐标系原点为例)

1、在CAD中画一个正方形&#xff0c;没有任何角点在坐标原点上 2、点击修改工具栏的“移动命令”&#xff0c;选择刚刚画好的图形&#xff0c;选择一个点为第一个基点&#xff1b; 3、先输入#号&#xff08;shift3&#xff09;,再输入0,0&#xff0c;用英文逗号隔开&#xff0c…

容器的综合应用:文本查询程序

需求 程序读取用户指定的任意文本文件&#xff0c;允许用户从该文件中查找单词。查询结果是该单词出现的次数&#xff0c;并列出每次出现所在行&#xff0c;如果某单词在同一行中多次出现&#xff0c;程序将只显示该行一次。行号按升序显示&#xff0c;即第 7 行应该在第 9 行之…

Anaconda 安装操作及遇到的坑

最近刚用Pytorch&#xff0c;编译开源代码的时候发现缺少n个package&#xff0c;原来是之前在Anaconda3 创建的虚拟环境各自是独立的&#xff0c;tensorflow下安装的不能在别的环境下使用&#xff0c;所以要重新安装。然而关键是国内各种屏蔽资源&#xff0c;无法FQ去直接下载安…

IE浏览器历史版本图标大全

上个月IE团队庆祝了IE的15周岁生日&#xff0c; 并晒了晒IE各个历史版本的图标&#xff1a; Internet Explorer 1.0 图标 Internet Explorer 2.0 图标 Internet Explorer 3.0 图标 Internet Explorer 4.0 图标 Internet Explorer 5.0 图标 Internet Explorer 6.0 图标 Internet…

7.Mybatis关联表查询(这里主要讲的是一对一和一对多的关联查询)

视频地址&#xff1a;http://edu.51cto.com/sd/be679 在Mybatis中的管理表查询这里主要介绍的是一对一和一对多的关联查询的resultMap的管理配置查询&#xff0c;当然你也可以用包装类来实现。不过这里不说&#xff0c;做关联查询的步骤可以简单的总结为以下的几步&#xff1a;…

ANSYS——查看某一截面的云图分布(也叫做切片图)

1.确定截面的位置 此处以图中红色处截面为例 2.将工作平面经过坐标变化移动到指定截面处(工作平面的XY平面与截面重合) 工作平面坐标系默认是与总体坐标系重合的,这里是先平移再进行旋转

深度学习之keras (一) 初探

之前一段时间里&#xff0c;学习过tensorflow和Pytorch也写了点心得&#xff0c;目前是因为项目原因用了一段时间Keras&#xff0c;觉得很不错啊&#xff0c;至少从入门来说对新手极度友好&#xff0c;由于keras是基于tensoflow的基础&#xff0c;相当于tensorflow的高级API吧&…

swift:高级运算符(位运算符、溢出运算符、优先级和结合性、运算符重载函数)...

swift&#xff1a;高级运算符 http://www.cocoachina.com/ios/20140612/8794.html 除了基本操作符中所讲的运算符&#xff0c;Swift还有许多复杂的高级运算符&#xff0c;包括了C语和Objective-C中的位运算符和移位运算。 不同于C语言中的数值计算&#xff0c;Swift的数值计算默…

收集、报告或保存系统活动信息:sar命令

2019独角兽企业重金招聘Python工程师标准>>> 索引 sar命令的使用常用方法 查看网络设备&#xff08;网卡&#xff09;的状态信息查看socket使用情况查看cpu使用情况(默认)查看内存和交换空间使用情况查看内存的统计信息查看tty设备的活动状态查看等待运行的进程数和…

【GOF23设计模式】原型模式

【GOF23设计模式】原型模式 来源&#xff1a;http://www.bjsxt.com/ 一、【GOF23设计模式】_原型模式、prototype、浅复制、深复制、Cloneable接口 浅复制 1 package com.test.prototype;2 3 import java.util.Date;4 5 /**6 * 浅复制7 */8 public class Sheep implements C…