一. 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. 【postman】postman访问zuul路由网关,发生Could not get any response 的情况

    情况如下: zuul配置的自定义过滤器,对所有由zuul进行路由转发的请求进行安全验证,如果请求中包含auth,则成功路由,否则失败. 代码如下: package com.swapping.sprin ...

  2. Spring 反射注入+全注解注入

    Spring IoC容器会先把所有的Bean都进行实例化,不管是要用到的火鼠用不到的,如果你想暂时不进行Bean的实例化,要用到属性lazy-init="true". Spring ...

  3. Additive属性动画

    Additive属性动画 参考 http://ronnqvi.st/multiple-animations/ 效果 源码 https://github.com/YouXianMing/Animatio ...

  4. Android之与当前连接的wifi进行文件夹的浏览与传输

    先上传jar文件:ConnectWifi.jar.zip 上传源文件:org.zip 使用实例及相应的注释: import java.io.File; import java.net.InetAddr ...

  5. (a*b)%c 小的技巧

    (a*b)%c这个问题看上去好简单啊. 当然我们不是来说这么简单的问题了.你想一想,我们会不会遇到这种情况,a是__int64 ,b也是__int64 当两个数足够大的时候我们直接相乘的就会出现__i ...

  6. Coursera课程《大家的Python》中一些资料

    Printed copies of Python for Informatics are available for $10 or less from Amazon and $2 or less on ...

  7. Java IO的简单示例

    File类示例 public class FileUsageTest { private static void usage() { System.err.println("Usage: F ...

  8. Spark向HDFS中存储数据

    程序如下: import org.apache.spark.sql.Row; import org.apache.spark.SparkConf; import org.apache.spark.ap ...

  9. Java数据库编程技术

    1. 建立数据库连接 例1.1 使用JDBC-ODBC桥来连接一个Access数据库. 该数据库的名称为FirstExample,在ODBC数据源中的名称为forStudy,用户名和密码均为空. pa ...

  10. 如何处理wordpress首页不显示指定分类文章

    如何实现wordpress首页不显示指定分类文章,要实现这一步,首先必须找到需要屏蔽的该目录的id,那么如何查看wordpress的分类id呢?有两种方法: 通过wordpress后台查看分类的ID ...