步骤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. echarts tooltips宽度设置

    提示文本太长显示不全,设置宽度后:

  2. Portainer docker 可视化管理工具

    1. 快速使用 docker run -d -p 9000:9000 portainer/portainer 2. docker  swarm  模式 docker service create \ ...

  3. Prometheus 简介

    Prometheus 是一个开源的服务监控系统和时间序列数据库. 特性: 高维度数据模型 自定义查询语言 可视化数据展示 高效的存储策略 易于运维 提供各种客户端开发库 警告和报警 数据导出   gi ...

  4. 7个GIF动图帮你瞬间理解三角函数

    7个GIF动图帮你瞬间理解三角函数 蝌蚪五线谱 百家号04-2120:53 图片来源:IMGUR 三角函数是数学中研究三角形的一个分支,专门阐述三角形的角度和对应边的关系. 有趣的是,定义边角关系的三 ...

  5. jenkins忘记密码如何处理?

    一.admin密码未更改情况 1.进入\Jenkins\secrets目录,打开initialAdminPassword文件,复制密码: 2.访问Jenkins页面,输入管理员admin,及刚才的密码 ...

  6. 在 FastAdmin 中启动 ThinkPHP 5 的请求缓存分析

    在 FastAdmin 中启动 ThinkPHP 5 的请求缓存分析 缓存的基础配置 ThinkPHP 5 中有一个请求缓存:1 'request_cache' => true, 'reques ...

  7. linux下如何添加一个用户并且让用户获得root权限【转载】

    原文:http://www.cnblogs.com/johnw/p/5499442.html 1.添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加 ...

  8. CentOS 7 named配置forward

    上文在CentOS 7中安装配置了bind.有时我们只需要一个DNS的proxy来转发DNS的请求.这时,我们就需要配置forword. forword在named.conf中的添加: forward ...

  9. springmvc之获取参数

    1.导包,四大核心包,一个切面包(AOP),logging,web,springmvc 2.配置文件,核心代码如下: web.xml <servlet> <servlet-name& ...

  10. SAE部署Django1.6+MySQL

    [解决]SAE部署Django1.6+MySQL 终于可以舒口气了,今天大部分时间都在搞这个,很是蛋疼,网上资料良莠不齐,我不信这个之前没人做过,但是他们确实分享的不够好. 废话不多说,还是记录一下今 ...