步骤1、创建工程文件夹名字

F:\Helloworld

步骤2、编写java代码;

package com.netease;

public class Ant_test {

	public static  void  main(String []args){
System.out.println("测试ant用法!!!");
System.out.println("测试ant用法!!!"); Antbean bean = new Antbean();
bean.print();
} }
package com.netease;

public class Antbean {

	public void print(){
System.out.println("Ant_test类调用了我,我的名字叫做Antbean");
System.out.println("Ant_test类调用了我,我的名字叫做Antbean");
System.out.println("Ant_test类调用了我,我的名字叫做Antbean");
}
}

步骤3、在F:\Helloworld创建src/com/netease/目录,将编写的java类文件放在此处

步骤4、编写build.xml文件,放在和src的同级目录,即项目根目录下。

<?xml version="1.0"  encoding="UTF-8"?>
<project name="HelloWorld" default="run" basedir=".">
<property name="src" value="src"/>
<property name="dest" value="classes"/>
<property name="hello_jar" value="hello.jar"/> <target name="init">
<mkdir dir="${dest}"/>
</target> <target name="compile" depends="init">
<javac srcdir="${src}" destdir="${dest}" includeantruntime="on"/>
</target> <target name="build" depends="compile">
<jar jarfile="${hello_jar}" basedir="${dest}"/>
</target> <target name="run" depends="build">
<java classname="com.netease.Ant_test" classpath="${hello_jar}"/>
</target> <target name="clean">
<delete dir="${dest}"/>
<delete file="${hello_jar}"/>
</target> <target name="return" depends="clean,run">
<ant target="clean"/>
<ant target="run"/>
</target> </project>

步骤5、进入cmd控制台运行ant命令

(1)一次执行:输入ant,配置的默认执行run任务。

由于依赖关系,依次执行以下任务:init(初始化,如创建目录)、compile(编译java文件为class字节码文件)、build(创建jar包)、run(运行程序);

(2)分步执行:ant init、ant compile、ant build、ant run

附加规范目录结构、简单目录结构:

<?xml version="1.0"  encoding="UTF-8"?>
<project name="HelloWorld" default="run" basedir=".">
<property name="src" value="src"/>
<property name="dest" value="build/classes"/>
<property name="lib" value="lib"/>
<property name="hello_jar" value="hello.jar"/> <target name="init">
<mkdir dir="${dest}"/>
</target> <target name="compile" depends="init">
<javac srcdir="${src}" destdir="${dest}" includeantruntime="on"/>
</target> <target name="build" depends="compile">
<jar jarfile="${hello_jar}" basedir="${dest}"/>
<mkdir dir="${lib}"/>
<jar jarfile="${lib}/${hello_jar}" basedir="${dest}"></jar>
</target> <target name="run" depends="build">
<java classname="com.netease.Ant_test" classpath="${hello_jar}"/>
<java classname="com.netease.Ant_test" classpath="${lib}/${hello_jar}"/>
</target> <target name="clean">
<delete dir="${dest}"/>
<delete file="${hello_jar}"/>
<delete file="${lib}/${hello_jar}"/>
</target> <target name="return" depends="clean,run">
<ant target="clean"/>
<ant target="run"/>
</target> </project>

总结Ant(下面引用的例子没有设置property变量引用)

一、  Ant的常用任务

在Ant工具中每一个任务封装了具体要执行的功能,是Ant工具的基本执行单位。在本小节中,主要引导读者来看下Ant的常用任务及其使用举例。

1.       copy任务

该任务主要用来对文件和目录的复制功能。举例如下:

Eg1.复制单个文件:<copy file="file.txt" tofile="copy.txt"/>

Eg2.对文件目录进行复制:

<copy todir="../newdir/dest_dir">

<fileset dir="src_dir"/>

</copy>

Eg3. 将文件复制到另外的目录:

<copy file="file.txt" todir="../other/dir"/>

2.       delete任务

对文件或目录进行删除,举例如下:

Eg1. 删除某个文件:<delete file="photo/amigo.jpg"/>

Eg2. 删除某个目录:<delete dir="photo"/>

Eg3. 删除所有的备份目录或空目录:

<delete includeEmptyDirs="true">

<fileset dir="." includes="**/*.bak"/>

</delete>

3.       mkdir任务

创建目录。eg:<mkdir dir="build"/>

4.       move任务

移动文件或目录,举例如下:

Eg1. 移动单个文件:<move file="fromfile" tofile=”tofile”/>

Eg2. 移动单个文件到另一个目录:<move file="fromfile" todir=”movedir”/>

Eg3. 移动某个目录到另一个目录:

<move todir="newdir">

<fileset dir="olddir"/>

</move>

5.       echo任务

该任务的作用是根据日志或监控器的级别输出信息。它包括message、file、append和level四个属性,举例如下:

<echo message="Hello,Amigo" file="logs/system.log" append="true">

6、javac 编译任务

7、java运行java程序任务

8、jar打包任务

二、利用Ant构建和部署Java工程

Ant可以代替使用javac、java和jar等命令来执行java操作,从而达到轻松的构建和部署Java工程的目的。下面来看几个知识点。

1.     利用Ant的javac任务来编译java程序

Ant的javac任务用于实现编译Java程序的功能。下面来看一个简单的例子:

首先我们建立名为antstudy的Java工程,建立src目录为源代码目录,在src目录下建立HelloWorld.java这个类文件。该类文件的内容如下:

public class HelloWorld {

    public static void main(String[] args) {

       System.out.println("Hello,Amigo");

    }

}

同时在antstudy工程的根目录下建立build.xml文件,在该文件中编译src目录下的java文件,并将编译后的class文件放入build/classes目录中,在编译前,需清除classes目录,该文件的内容如下:

<?xml version="1.0"?>

<project name="javacTest"default="compile" basedir=".">

    <target name="clean">

       <delete dir="build"/>

    </target>



    <target name="compile" depends="clean">

       <mkdir dir="build/classes"/>

    <javac srcdir="src" destdir="build/classes"/>

    </target>

</project>

运行该build.xml文件,可在工程中看到新增了build/classes目录,并在该目录中生成了编译后的HelloWorld.class文件。

2.     使用Ant的java任务运行Java程序

Ant中可以使用java任务实现运行Java程序的功能。下面在1的例子中进行如下的修改,修改后的build.xml文件的内容如下:

<?xml version="1.0"?>

<project name="javaTest" default="jar" basedir=".">

    <target name="clean">

       <delete dir="build"/>

    </target>



    <target name="compile" depends="clean">

       <mkdir dir="build/classes"/>

      <javac srcdir="src" destdir="build/classes"/>

    </target>



    <target name="run" depends="compile">

       <java classname="HelloWorld">

           <classpath>

              <pathelement path="build/classes"/>

           </classpath>

       </java>

    </target>

</project>

运行该build.xml文件,可在控制台看到HelloWorld的main方法的输出。

3.     使用Ant的jar任务生成jar文件

读者可以在上例的基础上更进一步,来生成jar包,可在run这个target下再加上如下target:

<target name="jar" depends="run">

<jar destfile="helloworld.jar" basedir="build/classes">

           <manifest>

              <attribute name="Main-class" value="HelloWorld"/>

           </manifest>

       </jar>

</target>

此时将ant的project的default属性设置为jar,同时运行该build.xml文件,运行完毕后,可看到在工程目录下生成了一个jar包HelloWorld.jar。

4.       使用Ant的war任务打包J2EE
Web项目

建立一个J2EE Web工程,其目录结构如下图所示:

其中src为源代码目录,WebRoot为各jsp存放目录,lib为工程的包目录。在antwebproject工程目录下建立了build.xml文件,该文件为该工程的Ant构件文件。读者可以src目录下放入在前续例子中开发的HelloWorld.java文件,并在WebRoot下建立index.jsp文件,其内容很简单,就是输出Hello信息,代码如下所示:

<%@ page language="java" contentType="text/html; charset="UTF-8" pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

    <head>

       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

       <title>ant打包测试</title>

    </head>

    <body>

       Hello,Ant

    </body>

</html>

接下来编写build.xml文件,其内容如下:

<?xml version="1.0"?>

<project name="antwebproject"  default="war"basedir=".">

 <property name="classes" value="build/classes"/>

    <property name="build"value="build"/>

    <property name="lib"value="WebRoot/WEB-INF/lib"/>

    <!-- 删除build路径-->

    <target name="clean">

       <delete dir="build"/>

    </target>



    <!-- 建立build/classes路径,并编译class文件到build/classes路径下-->

    <target name="compile" depends="clean">

       <mkdir dir="${classes}"/>



       <javac srcdir="src" destdir="${classes}"/>

    </target>



    <!-- 打war包-->

    <target name="war" depends="compile">

<war destfile="${build}/antwebproject.war" webxml="WebRoot/WEB-INF/web.xml">

           <!-- 拷贝WebRoot下除了WEB-INF和META-INF的两个文件夹-->

    <fileset dir="WebRoot" includes="**/*.jsp"/>



           <!-- 拷贝lib目录下的jar包-->

           <lib dir="${lib}"/>

           <!-- 拷贝build/classes下的class文件-->

           <classesdir="${classes}"/>

       </war>

    </target>

</project>

各target的作用在内容中已经进行说明,在此不再赘述。运行该build文件,更新目录后,可看到在build目录下生成了antwebproject.war文件,解开后可看到其目录结构如下:

--META-INF

--MANIFEST.MF

--index.jsp

--WEB-INF

--lib

--log4j-1.2.9.jar

--classes

--HelloWorld.class

--web.xml

读者可以将该war包拷贝到Tomcat的目录下看一下运行结果。

												

Ant学习--简单实例入门的更多相关文章

  1. Hibernate(二)__简单实例入门

    首先我们进一步理解什么是对象关系映射模型? 它将对数据库中数据的处理转化为对对象的处理.如下图所示: 入门简单实例: hiberante 可以用在 j2se 项目,也可以用在 j2ee (web项目中 ...

  2. ant学习简单例子

    1.下载ant,http://ant.apache.org/ 这个网站下载,然后配置环境变量 打开dos界面,输入ant -version,如果提示命令不存在,进入到ant包装目录bin下载,再次运行 ...

  3. keras及神经网络,以简单实例入门

    由浅入深,深入浅出.还给你reference了很多,如果你想要更多. 迄今为止看到最棒的,最值得follow的入门tutorial: https://realpython.com/python-ker ...

  4. Ant学习实例

    ant   目录(?)[+] Ant学习实例 安装Ant 基础元素 project元素 target元素 property元素 完整示例   Ant学习实例 1.安装Ant 先从http://ant. ...

  5. SVN学习——简单入门之创建仓库、导入、检出(一)

    从刚刚参加工作就开始使用svn,清晰的记得那年师姐比较生气的来找我:“你怎么又不更新就提交代码了,把我写的都给覆盖掉了”,哈哈~ 虽然一直在用svn,不过在日常工作中主要用到的是简单的操作,而且大多数 ...

  6. Django学习笔记(一):环境安装与简单实例

    Django学习笔记(一):环境安装与简单实例 通过本文章实现: Django在Windows中的环境安装 Django项目的建立并编写简单的网页,显示欢迎语与当前时间 一.环境安装 结合版本兼容性等 ...

  7. 《从0到1学习Flink》—— Mac 上搭建 Flink 1.6.0 环境并构建运行简单程序入门

    准备工作 1.安装查看 Java 的版本号,推荐使用 Java 8. 安装 Flink 2.在 Mac OS X 上安装 Flink 是非常方便的.推荐通过 homebrew 来安装. brew in ...

  8. python从入门到大神---4、python3文件操作最最最最简单实例

    python从入门到大神---4.python3文件操作最最最最简单实例 一.总结 一句话总结: python文件操作真的很简单,直接在代码中调用文件操作的函数比如open().read(),无需引包 ...

  9. WCF 学习总结1 -- 简单实例

    从VS2005推出WCF以来,WCF逐步取代了Remoting, WebService成为.NET上分布式程序的主要技术.WCF统一的模型整合了以往的 WebService.Remoting.MSMQ ...

随机推荐

  1. 【加密算法】PFX文件提取公钥私钥

    方法1: 原版PFX证书 openssl pkcs12 -in myssl.pfx -nodes -out server.pem 提取私钥 openssl rsa -in server.pem -ou ...

  2. 什么是spark(一) 分区以及和MR的区别

    什么是spark,是一个分布式计算平台,或者说是分布式计算引擎,他的职责就是将指定的数据读入到各个node的内存中,然后计算.所以spark是具有泛化性质的,只要数据源是可读入的,读到内存里面之后,处 ...

  3. linux tcpdump命令抓包

    tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \) 截获主机210.27.48.1 和主机210.27.48.2 或210.27 ...

  4. JVM内存管理之GC算法精解(五分钟让你彻底明白标记/清除算法)

    相信不少猿友看到标题就认为LZ是标题党了,不过既然您已经被LZ忽悠进来了,那就好好的享受一顿算法大餐吧.不过LZ丑话说前面哦,这篇文章应该能让各位彻底理解标记/清除算法,不过倘若各位猿友不能在五分钟内 ...

  5. MySQL COUNT(*) & COUNT(1) & COUNT(col) 比较分析

    在面试的时候我们会经常遇到这个问题: MySQL 中,COUNT(*).COUNT(1).COUNT(col) 有区别吗? 有区别. 接下来我们分析一下这三者有什么样的区别. 一.SQL Syntax ...

  6. python--logging库学习_第三波

    本文介绍如何写一个Python日志类,用来输出不同级别的日志信息到本地文件夹下的日志文件里.为什么需要日志输出呢,我们需要记录我们测试脚本到底做了什么事情,最好的办法是写事件监听.这个事件监听,对我们 ...

  7. 给scrapy添加代理IP

    request.meta['proxy'] = 'http://'+'175.42.123.111:33995'

  8. 命令行创建2003的IP安全策略

      IP安全策略从win2k到2003都有的,图形界面的没什么好说的,如何在命令行下控制IPSec呢?win2k的方法在Do All in Cmd Shell有介绍.这里就拿win2003做例子吧,毕 ...

  9. line 3: /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc: No such file or directory

    sudo apt-get install lib32ncurses5(网上下载的很多arm-linux-gcc都是32位的,64位的ubuntu需要按此包)

  10. Visual Studio Online 创建项目

    VSO是微软为软件开发人员提供的一款基于云计算的开发平台.Team Foundation Server已经可以基于云端使用,无需再为配置和部署耗费多余的时间(PS:当初为了在服务器上部署这个鼓捣了4个 ...