步骤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. 【BZOJ4025】二分图 LCT

    [BZOJ4025]二分图 Description 神犇有一个n个节点的图.因为神犇是神犇,所以在T时间内一些边会出现后消失.神犇要求出每一时间段内这个图是否是二分图.这么简单的问题神犇当然会做了,于 ...

  2. Spring RESTful之@ModelAttribute

    @ModelAttribute有俩个位置,一个是在方法体中,下面这个demo的用意就是每次controller@RequestMapping方法被调用之前都会走这个方法,并向Model中(@Reque ...

  3. Errors running builder 'DeploymentBuilder' on project ' 解决方法

    此问题一般发生在Myeclipse 保存文件并自动部署时候. Errors occurred during the build. Errors running builder 'DeploymentB ...

  4. MVC涉及RouteTable自定义路径

    Routing 到目前为止,我们已经解决了MVC的很多问题,但忽略了最基本的最重要的一个问题:当用户发送请求时,会发生什么? 最好的答案是“执行Action 方法”,但仍存在疑问:对于一个特定的URL ...

  5. 搭建基于hyperledger fabric的联盟社区(六) --搭建node.js服务器

    接下来我要做的是用fabric sdk来做出应用程序,代替CLI与整个区块链网络交互.并且实现一个http API,向社区提供一个简单的接口,使社区轻松的与区块链交互. 官方虽然提供了Node.JS, ...

  6. 在Google的GKE上创建支持Internal Load Balancer的Service

    在Google的Kubernetes Engine上发布service,可以采用除On-Promise相同的Cluster IP和NodePort两种方式外,还可以创建LoadBalaner的Serv ...

  7. Log4j配置概述

    一.Log4j 简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合 ...

  8. 嵌入式设备snmpd 移植和测试(78K为例)

    一.源码目录项内容 agent:编译snmpd程序所需的文件,mibs源文件: apps:其他相关的程序:snmpwalk,snmptrap,snmptest,snmpget,snmpset: mib ...

  9. SpringMVC之五:自定义DispatcherServlet配置及配置额外的 servlets 和 filters

    相关文章 <Servlet3.0之四:动态注册和Servlet容器初始化> <SpringBoot中通过SpringBootServletInitializer如何实现组件加载> ...

  10. Python基础之元组tuple(带了枷锁的列表)

    元组不能直接插入删除修改元素. 逗号是关键 创建空元组 元组的一些操作符 别忘了逗号,"*"重复操作符也可以使用 元组通过切片间接更新 插入元素,可以使用拼接操作符(“+”) &g ...