学习笔记_Ant简介

Ant,apache开源项目,基于Java的构建工具,是一个小程序。它通过自动完成所有的编译代码,运行测试以及

打包重新部署等繁琐费力的任务来帮助软件团队开发大程序;

Ant的目标是自动完成所有的构建过程;

安装:

和安装JDK一样,在环境变量配置ANT_HOME;

然后在PATH加上%ANT_HOME%bin;

要求先有JDK环境,因为基于Java的构建工具,所以要先配置JDK;

配置好可以子啊控制台输入 ant -version 测试是否安装成功;

运行ant例子:

新建空文件夹;

控制台进入该文件夹;

新建a.xml :

<project name="MyProject" default="demo1">
  <target name="demo1">
 	<echo message="hello www"/>
  </target>
</project>

控制台输入 ant -f a.xml; (如果输入ant默认执行build.xml)

输出 [echo] hello www

ant -f a.xml demo1 : 执行a.xml 的名为demo1的target;

Ant的核心:构建文件

用来描述如何创建工程,在这个文件里,开发者列出各种构建目标以及达成这些目标的任务;配置文件默认名是

build.xml,如果自己命名如:a.xml那么在执行时用:ant -f a.xml;

重点是学习写配置文件build.xml; 下面举几个例子,了解更多可以看文档

根元素是project

1,输出信息

<!--工程-->
<project name="MyProject" default="demo1">
	<!--容器->相当于数据库中的事务 -->
	<target name="demo1">
	<!--回显HelloWorld ..-->
		<echo message="hello www" />
		<echo>my name is jerome</echo>
	</target>
	<!-- -->
</project>

在控制台输入ant -f a.xml 输出信息;(有时候报错是因为文件不是utf-8,修改一个编码就可以)

2.回显属性

<!--工程-->
<project name="MyProject" default="demo1">

	<property name="p1" value="hello p1"></property>
	<!--容器->相当于数据库中的事务 -->
	<target name="demo1">
	<!--回显HelloWorld ..-->
		<echo message="hello www" />
		<echo>my name is jerome</echo>
	</target>
	<!--属性-->
	<target name="demo2">
	<!--回显属性-->
		<echo>${p1}</echo>
	<!-- -->
	</target>
</project>

控制台输入 ant -f a.xml demo2 输出hello p1;

3.拷贝 在当前文件夹新建1.txt

<!--工程-->
<project name="MyProject" default="demo1">

	<property name="p1" value="hello p1"></property>
	<!--容器->相当于数据库中的事务 -->
	<target name="demo1">
	<!--回显HelloWorld ..-->
		<echo message="hello www" />
		<echo>my name is jerome</echo>
	</target>
	<!--属性-->
	<target name="demo2">
	<!--回显属性-->
		<echo>${p1}</echo>
	<!-- -->
	</target>

	<!--拷贝-->
	<target name="demo3">
		<echo message="拷贝文件" />
		<copy file="1.txt" todir="../d1" ></copy>
	</target>
</project>

执行 ant -f a.xml demo3 ;

其实我们会发现这些命令都是dos命令;

执行一个java例子:

在当前目录下新建src目录,

在src目录下新建HelloWorld.java

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

(可以在Eclipse新建HelloWorld然后直接拷贝过来)

配置文件修改如下:

<!--工程-->
<project name="MyProject" default="run">
	<!--初始化操作 新建文件夹-->
	<target name="init">
		<!--在当前文件夹下新建文件夹build/classes-->
		<mkdir dir="build/classes" />
		<mkdir dir="dist" />
	</target>
	<!--编译 -->
	<target name="compile">
		<javac srcdir="src" destdir="build/classes" />
		<echo>编译完成!</echo>
	</target>
	<target name="archive" depends="compile">
		<jar destfile="dist/project.jar" basedir="build/classes" />
	</target>
	<!--删除文件夹 -->
	<target name="clean" depends="init">
		<delete dir="build" />
		<delete dir="dist" />
	</target>

	<!--运行程序-->
	<target name="run" depends="compile">
		<java classname="HelloWorld" classpath="build/classes"></java>
	</target>
</project>

1, 执行前先初始化,创建文件夹:ant –f a.xml init

2, 执行 程序:运行 ant –f a.xml    成功输出:Hello world !

3, 打包成jar包: ant –f a.xml archive

4, 删除文件夹 ant –f a.xml clean

打成war

学习笔记_Ant简介

时间: 2024-12-25 11:44:22

学习笔记_Ant简介的相关文章

学习笔记_svn简介

版本控制(Revision control)是维护工程蓝图的标准做法,能追踪工程蓝图从诞生一直到定案的过程.是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统. 可以简单理解: 版本控制工具:就是控制我们项目开发的代码,管理这些代码,使这些代码能够协调工作,形成一个完整的整体:可以上传代码,更新最新代码到本地: 具体做法: 三个人开发各自的代码,引入一台专门的服务器,SVN Server,一人开发代码,本地开发完直接上传到服务器(commit),SVN可以理解成代码数据库:不仅可以上

学习笔记_CVS简介

CVS - Concurrent Versions System(并发版本管理系统)是一个版本控制管理系统,它是SVN出现之前最为广泛使用的一个版本控制系统. CVS的优点就不多说了,总之没有它,早期的软件工程就基本无法实现,就无法凝聚广大程序员的力量.它在软件工程中的作用实在是无可比拟的. 一直到现今的版本控制的主流SVN出现之后,它才慢慢的逐步淡出我们的视线. 下载CVS服务器 网址为:<http://www.cvsnt.com/cvspro/>,下载CVSNT 并安装,当前使用的版本号为

Python学习笔记一简介及安装配置

Python学习笔记一 参考教程:廖雪峰官网https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000 一.Python简介 Python是著名的"龟叔"Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言.龟叔给Python的定位是"优雅"."明确"."简单". Python

shiro学习笔记_0100_shiro简介

前言:第一次知道shiro是2016年夏天,做项目时候我要写springmvc的拦截器,申哥看到后,说这个不安全,就给我捣鼓了shiro,我就看了下,从此认识了shiro.此笔记是根据网上的视频教程记录的,shiro的文档感觉不是很好,所以结合老师的讲课和文档,感觉条理更清晰些.以便日后查阅 shiro:Shiro是一个基于java的开源的安全管理框架. Shiro可以帮助我们完成:认证.授权.加密.会话管理.与Web集成.缓存等可用于javase和javaee,还可用于分布式集群环境. 在ja

ElasticSearch学习笔记-01 简介、安装、配置与核心概念

一.简介 ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.支持通过HTTP使用JSON进行数据索引. Lucene只是一个框架,要利用它的功能,需要使用JAVA,并且在程序中集成Lucene.更糟的是,Lucene非常复杂,需要做很多的学习了解,才能明白它是如何运行的. Elasticsearch使用Lucene作为内部引擎,但是在使用它做全文搜索时,只需要使用统一开发好的API即可,

JavaWeb学习笔记5--JSP简介及入门(含Eclipse for Java EE及Tomcat的配置)

?[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4046862.html [前言] JSP本身是JavaWeb中的知识,但是在学习Android网络时,必然要涉及到与服务器之间的交互,所以学一下JSP以及其他JavaWeb的内容还是很有必要的,至少能明白程序在访问服务器时,整个过程的原理. 其实,在学习Android之前,Java和JavaWeb

MongoDB权威指南第二版学习笔记——MongoDB简介

MongoDB简介 MongoDB在功能和复杂性之间取得了很好的平衡,并且大大简化了原先十分复杂的任务,它具备支撑今天主流web应用的关键功能:索引.复制.分片.丰富的查询语法,特别灵活的数据模型.与此同时还不牺牲速度. MongoDB是一款强大.灵活,且易于扩展的通用型数据库.能扩展出非常多的功能,如二级索引.范围查询.排序.聚合,以及地理空间索引. 设计特点 易于使用 MongoDB是一个面向文档的数据库,比关系型数据库有更好的扩展性.用文档代替行.能够仅使用一条记录来表现发展的层次关系.

ANDROID_MARS学习笔记_S04_001_OAuth简介

一.OAuth简介

高大上函数响应式编程框架ReactiveCocoa学习笔记1 简介

原创文章,转载请声明出处哈. ReactiveCocoa函数响应式编程 一.简介 ReactiveCocoa(其简称为RAC)是函数响应式编程框架.RAC具有函数式编程和响应式编程的特性.它主要吸取了.Net的 Reactive Extensions的设计和实现. 函数式编程 (Functional Programming) 函数式编程也可以写N篇,它是完全不同于OO的编程模式,这里主要讲一下这个框架使用到的函数式思想. 1) 高阶函数:在函数式编程中,把函数当参数来回传递,而这个,说成术语,我