一. ant简单介绍

Ant是apache的一个核心项目, 它的作用是项目自己主动化构建, 由于它内置了Javac、Java、创建文件夹、拷贝文件等功能,

直接执行build.xml文件就能够编译我们的项目。

二. ant配置

1. 新建环境变量ANT_HOME: ant的解压文件夹

2. 在path中配置:%ANT_HOME%/bin;

3. 在命令行中输入ant, 假设出现 Buildfile:build.xml does not exist! Build failed 说明配置成功

三. ant入门程序

build.xml

<?xml version="1.0" encoding="GBK"?>
<project default="targetname">
<target name="name"></target>
</project>

project是生成文件的根元素, 表示一个工程

target是project的子元素, 表示一个任务, 一个project中能够定义多个target元素, 表示多个任务

default属性表示默认运行的target, 假设ant命令没有指定target, 则运行default的target

ant targetName则会运行此target, 而忽略default设置的target

四. ant编译Java项目流程

1. 创建目录

build -> 全部文件信息都保存在这个目录中

-- src -> 全部源代码信息保存在这个目录中

-- classes -> 编译好的全部文件保存在这个目录中

-- dist -> 编译好的jar文件保存在这个目录中

2. 将src中文件复制到build/src

3. 编译源代码

4. 将源代码打包成jar

5. 直接执行程序

<?xml version="1.0" encoding="UTF-8"?>
<project default="execute">
<!-- 使用属性定义对应路径的时候, 使用location(会依据操作系统转换路径), 假设不是路径就使用value -->
<property name="build.dir" location="build" />
<property name="build.classes" location="${build.dir}/classes" />
<property name="build.src" location="${build.dir}/src" />
<property name="build.lib.dir" location="${build.dir}/dist" /> <!--
假设属性太多, 能够将属性放在一个外部文件里定义, 在本文件里引用
特别注意: 假设是路径就不建议在外部文件里定义, 由于此时就不会设置location的值
-->
<property file="build.properties" /> <!-- 把环境变量中的參数存放在env这个变量中 -->
<property environment="env" /> <target name="test">
<echo>${ant.home}</echo>
<echo>${ant.version}</echo>
<echo>${env.CLASSPATH}}</echo>
</target> <!--
fileset能够设定一组文件集来进行操作, dir指明文件集进行选择的路径
通过id能够指定这个文件的名称, 以下使用的时候能够直接引入
include和exclude能够设定包括和排除文件的范围
-->
<fileset id="src.path" dir="src">
<include name="**/*.*" />
<exclude name="**/Test*.java"/>
</fileset> <target name="init">
<delete dir="${build.dir}" />
<mkdir dir="${build.dir}" />
<mkdir dir="${build.classes}" />
<mkdir dir="${build.src}" />
<mkdir dir="${build.lib.dir}" />
</target> <target name="copySrc" depends="init">
<copy todir="${build.src}">
<fileset refid="src.path"></fileset>
</copy>
</target> <target name="compile" depends="init">
<javac destdir="${build.classes}" srcdir="src"></javac>
</target> <target name="jar" depends="compile">
<jar destfile="${build.lib.dir}/${jar.name}" basedir="${build.classes}">
<manifest>
<attribute name="Main-Class" value="${execute.class}"/>
<attribute name="Build-By" value="zhangdongping"/>
</manifest>
</jar>
</target> <target name="execute" depends="jar, copySrc">
<echo>基于类路径下的classname来完毕运行</echo>
<java classname="${execute.class}" classpath="${build.classes}">
<arg value="zhangsan" />
</java> <echo>基于jar文件运行</echo>
<java jar="${build.lib.dir}/${jar.name}" fork="true">
<arg value="liming" />
</java>
</target>
</project>

build.properties

execute.class = com.zdp.test.HelloWorld
jar.name = hello.jar

HelloWorld.java

package com.zdp.test;

public class HelloWorld {
public static void main(String[] args) {
System.out.println("hello " + args[0]);
}
}

ant入门程序的更多相关文章

  1. Ant入门

    一.Ant介绍 Ant是Java的生成工具,是Apache的核心项目:直接在apache官网下载即可: Ant类似于Unix中的Make工具,都是用来编译.生成: Ant是跨平台的,而Make不能: ...

  2. mybatis入门_mybatis基本原理以及入门程序

    一.传统jdbc存在的问题 1.创建数据库的连接存在大量的硬编码, 2.执行statement时存在硬编码. 3.频繁的开启和关闭数据库连接,会严重影响数据库的性能,浪费数据库的资源. 4.存在大量的 ...

  3. 1.struts2原理和入门程序

    Struts2是一个MVC的Web应用框架,是在Struts1和WebWork发展起来的,以WebWork为核心,采取拦截器机制来处理用户请求. 原理图: 分析步骤: 1.用户发送一个请求 2.请求的 ...

  4. springMVC2 1入门程序

    1入门程序 .1需求 实现商品列表查询 .2需要的jar包 使用spring3.2.0(带springwebmvc模块) .1前端控制器 在web.xml中配置: <?xml version=& ...

  5. struts2入门程序

    struts2入门程序 1.示例 搭建编程环境就先不说了,这里假设已经搭建好了编程环境,并且下好了strut2的jar包,接下来程序. 1.1 新建web项目 点击File->New->D ...

  6. Spring+SpringMVC+MyBatis深入学习及搭建(十二)——SpringMVC入门程序(一)

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6999743.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十一)——S ...

  7. springmvc(一) springmvc框架原理分析和简单入门程序

    springmvc这个框架真的非常简单,感觉比struts2还更简单,好好沉淀下来学习~ --WH 一.什么是springmvc? 我们知道三层架构的思想,并且如果你知道ssh的话,就会更加透彻的理解 ...

  8. python web入门程序

    python2.x web入门程序 #!/usr/bin/python # -*- coding: UTF-8 -*- # 只在python2.x 有效 import os #Python的标准库中的 ...

  9. Maven01——简介、安装配置、入门程序、项目构建和依赖管理

    1 Maven的简介 1.1 什么是maven 是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目的 Svn eclipse   maven量级 1.2 Maven好处 同 ...

随机推荐

  1. 5. python 文本解析

    5. python 文本解析 这一章节我们简单的聊聊文本解析的两种方法: 1.分片,通过分片,记录偏移处,然后提取想要的字符串 例子: >>> line='aaa bbb ccc'  ...

  2. docker Redis的主从配置

    redis是k-v型nosql数据库,支持字符串(string).列表(list).集合(set).散列(hash).有序集合(zset:形如member:score的散列集合,其中member为成员 ...

  3. visio 画类图时 方法里如何加参数

    鼠标双击类(打开属性对话框)-->(类别)操作-->属性-->(类别)参数-->(添加参数)

  4. 比起 JSON 更方便、更快速、更簡短的 Protobuf 格式

    Protocol Buffers 是由 Google 所推出的一格式(後台真硬),你可以把它想像成是 XML 或 JSON 格式,但是更小.更快,而且更簡潔.這能夠幫你節省網路與硬體資源,且你只需要定 ...

  5. connection to sys should be as sysdba or sysoper 解决的方法

    连接时提示: 出现了例如以下的情况:EXP-00056;遇到ORACLE错误28009. ORA-28009:connection   to   sys   should   be   as   sy ...

  6. Bridge 桥接模式 MD

    桥接模式 简介 将抽象部分与实现部分分离,使它们都可以独立的变化. 业务抽象角色引用业务实现角色,或者说业务抽象角色的部分实现是由业务实现角色完成的 Bridge模式基于类的最小设计原则,通过使用封装 ...

  7. 让IE6/IE7/IE8支持HTML5标签的js代码

    让IE(ie6/ie7/ie8)支持HTML5元素,我们需要在HTML头部添加以下JavaScript,这是一个简单的document.createElement声明,利用条件注释针对IE来调用这个j ...

  8. 【BZOJ2662】【BeiJing wc2012】冻结 分层图 裸的!

    我都不好意思发题解了,看这篇博吧.(飞行路线的,基本一样) http://blog.csdn.net/vmurder/article/details/40075989 同学做了好久.我害怕题里有坑,又 ...

  9. eclipse全屏模式

  10. 转: Eclipse设置、调优、使用 (强烈推荐)

    转注:写的非常详累,并且图文并茂,值得一看. http://yuanzhifei89.iteye.com/blog/974082 eclipse调优 一般在不对eclipse进行相关设置的时候,使用e ...