`
chris_freedream
  • 浏览: 32971 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

ant文件简要介绍

    博客分类:
  • Ant
阅读更多
  最近用ant的命令比较多,所花了些时间试着自己写build文件,其中牵涉的元素我就不多说,因为相关的介绍google一下很多,我这里把xml文件贴出来方便大家作为模板使用,我的工程文件是这样的有个src目录,其下面放了相关的java文件,另外一个lib目录,放置了用户自定的jar包等,在此做了个打包HelloWorld程序的ant 文件,如下程序片段:
import java.io.IOException;
/**
*HelloWorld
*/
public class HelloWorld{

	public static void main(String[] args)throws IOException{
		System.out.println("HelloWorld!");
	}
}

针对这个java类进行打包的ant file如下:
<?xml version="1.0" encoding="UTF-8"?>
<project default="build" basedir=".">
    <property name="appname" value="HelloWorld" />
    <property name="base" value="." />
    <property name="src.dir" value="${base}\src" />
    <property name="lib.dir"  value="${base}\lib" />
    <property name="dist.dir" value="${base}\dist" />
    <property name="classes.dir" value="${base}\classes" /> 
    <!--初始化基本信息如路径等-->  
    <target name="init">
		<mkdir dir="${base}\classes"/>
		<mkdir dir="${base}\dist"/>
		<echo message="create folder successful"/>
    </target>
    <!--将src.dir下的所有java文件进行编译-->
    <target name="build" depends="init">
        <javac srcdir="${src.dir}" destdir="${classes.dir}">
            <include name="**/*.java" />
        </javac>        
<!--将${classes}目录及${src.dir}目录下的文件都打包成test.jar其中所有Test.class除外-->
	  <jar destfile="${dist.dir}/test.jar">
		  <fileset dir="${classes.dir}" excludes="**/Test.class" />
		  <!-- 指定Main-class-->
		  <manifest>
				<attribute name="Main-class" value="HelloWorld"/>
		  </manifest>
	  </jar>
	 <!--将lib.dir下的所有class及jar文件copy到dist.dir目录下-->
		<copy todir="${dist.dir}" overwrite="true" flatten="true">	
			<fileset dir="${lib.dir}">
				<include name="*.class" />
				<include name="*.jar" />	
			</fileset>
		</copy>
    </target>
    <!--运行一个类,类名为HelloWorld-->
    <target name="run" depends="build">
        <java classname="HelloWorld">
            <classpath>
                <pathelement path="${classes.dir}"/>
            </classpath>
        </java>
    </target>
    <!--清除classes.dir及dist.dir下的所有内容-->
     <target name="clean" depends="init">
        <delete includeEmptyDirs="false">
            <fileset dir="${classes.dir}" />
            <fileset dir="${dist.dir}" />            
        </delete>
    </target> 
</project>

运行结果如下:
E:\anttest>ant
Buildfile: build.xml

init:
    [mkdir] Created dir: E:\anttest\classes
    [mkdir] Created dir: E:\anttest\dist
     [echo] create folder successful

build:
    [javac] Compiling 1 source file to E:\anttest\classes
      [jar] Building jar: E:\anttest\dist\test.jar
     [copy] Copying 2 files to E:\anttest\dist

BUILD SUCCESSFUL
Total time: 1 second
分享到:
评论
1 楼 chris_freedream 2008-07-15  
  一个通过jar来启动的build文件
<?xml version="1.0" encoding="UTF-8"?>
<project default="run" basedir="." name="Demo">
	<property name="src.dir"     value="src"/>
	    <property name="build.dir"   value="build"/>
	    <property name="classes.dir" value="${build.dir}/classes"/>
	    <property name="jar.dir"     value="${build.dir}/jar"/>
	    <property name="main-class"  value="com.chris.demo.TestJFrame"/>
    	<property name="lib.dir"     value="lib"/>
	    <path id="classpath">
	        <fileset dir="${lib.dir}" includes="**/*.jar"/>
	    </path>

	    <target name="clean">
	        <delete dir="${build.dir}"/>
	    </target>
	    <target name="compile">
	        <mkdir dir="${classes.dir}"/>
	        <javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="classpath"/>
	    </target>
	    <target name="jar" depends="compile">
	        <mkdir dir="${jar.dir}"/>
	        <jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${classes.dir}">
	            <manifest>
	                <attribute name="Main-Class" value="${main-class}"/>
	            </manifest>
	        </jar>
	    </target>
	    <target name="run" depends="jar">
	        <java fork="true" classname="${main-class}">
	            <classpath>
	                <path refid="classpath"/>
	                <path location="${jar.dir}/${ant.project.name}.jar"/>
	            </classpath>
	        </java>
	    </target>
	    <target name="clean-build" depends="clean,jar"/>
	    <target name="main" depends="clean,run"/>
</project>

相关推荐

    ant1.8安装文件

    ant1.8 安装文件,Ant是Apache软件基金会JAKARTA目录中的一个子项目,它有以下的优点。跨平台性。Ant是存Java语言编写的,所示具有很好的跨平台性。操作简单。Ant是由一个内置任务和可选任务组成的。Ant运行时需要一...

    一个简单的ant配置文件,初学者有点用

    利用ant处理java的编译、生成、打包等基本功能。写的非常简单。

    java Ant 教程

    由于Ant构建文件时XML格式的文件,所以和容易维护和书写,而且结构很清晰。 3.Ant可以集成到开发环境中。由于Ant的跨平台性和操作简单的特点,它很容易集成到一些开发环境中去。 Ant开发Ant的构建文件

    apache-ant-1.9.6

    Ant运行时需要一个XML文件(构建文件)。 Ant通过调用target树,就可以执行各种task。每个task实现了特定接口对象。由于Ant构建文件 是XML格式的文件,所以很容易维护和书写,而且结构很清晰。Ant可以集成到开发环境中...

    Apache Ant入门教程

    Apache Ant 是一个基于 Java 的生成工具。据最初的创始人 James ...Ant 的其他关键优势包括其突出的简单性和无缝地使用自定义功能来扩展它的能力。但愿您在完成本教程其余内容的学习之后,会欣赏 Ant 的这些优势。

    Ant工具build文件使用的简单示范

    主要是做了一个范例示范怎么使用build.xml来编译java项目。操作有:clean, compile, run, jar.

    Ant 项目生成工具

    在本教程中,您将学习 Ant 这个Java TM 项目生成工具。...写生成文件的步骤,然后考察 Ant 的其他一些有用功能,包括文件系统操作和模式匹配。最后编写 一个扩展 Ant 功能的自己的Java 类来结束本教程。

    ant使用指南.pdf

    在本教程中,您将学习 Ant 这个 Java TM 项目生成工具。...写生成文件的步骤,然后考察 Ant 的其他一些有用功能,包括文件系统操作和模式匹配。最后编写 一个扩展 Ant 功能的自己的 Java 类来结束本教程。

    apache-ant-1.10.8.zip

    Ant运行时需要一个XML文件(构建文件)。Ant通过调用target树,就可以执行各种task。每个task实现了特定接口对象。由于Ant构建文件时XML格式的文件,所以和容易维护和书写,而且结构很清晰。Ant可以集成到开发环境中。...

    ant 学习 笔记 一个简单的java 编译部署实例

    ant 学习笔记 ,自己的一些学的时候的一个例子

    Ant使用指南pdf

    · Ant 生成文件是如何构造的 · 如何从命令行以及从Eclipse 内运行Ant · 如果通过编译源代码、创建 JAR 文件以及时间戳文件(以识别每次生成过程的输出)来生 成简单的 Java 项目 · 如何在 Ant 中执行基本的文件...

    ant1.9资源

    为了更清楚的了解Ant,在这里编写一个简单的Ant程序,用来展现Ant的功能,让读者对Ant有一个初步的了解。首先在E盘下建立一个build.xml文件,内容如下: ,Amigo"/&gt; 读者可以进入E盘,然后运行ant ...

    Ant测试所需文件.zip

    本压缩文件解压后生成的解压文件夹即文件用于博客《Ant——使用Ant构建简单Java项目》的试验,博客参见网址:http://blog.csdn.net/gaohuanjie/article/details/40144821

    ANT安装与使用教程

    该文件简单的描述了ANT的安装过程及其简单使用。适用所有项目部署人员。

    Ant使用指南-Ant入门手册

    Ant是什么、Ant入门、Ant入门书籍、Ant入门手册、Ant资料、Ant文档、Ant使用指南 包括以下章节: Ant入门 Ant基础 运行Ant 生成一个简单的JAVA项目 文件系统操作 其它有用的任务和技术 使用自定义任务来扩展Ant ...

    Android代码-Ant-Multiple-Package

    文件说明:ant文件中 key.store=加密文件 key.alias=alias名称 key.store.password=加密密码 key.alias.password=alias密码 umeng_channels=baidu,google,umeng //渠道包,用逗号分隔 output.apk.dir=F:\...

    apache-ant-1.9.3-src.tar

    Ant的概念 当一个代码项目大了以后,...由于Ant构建文件时XML格式的文件,所以和容易维护和书写,而且结构很清晰。 Ant可以集成到开发环境中。由于Ant的跨平台性和操作简单的特点,它很容易集成到一些开发环境中去。

    Ant简单应用

    1.Ant通过命令自动编译出build.xml文件2.ANT的配置及简单实用3. Ant命令行打包应用

    Ant1.9.14 基于Java的生成工具

    Ant1.9.14,目前最稳定的版本,一种基于Java的生成工具,简单,易用,包含二进制文件,源文件,参考手册

    搭建JMeter+Jenkins+Ant持续化

    Ant运行时需要一个XML文件(构建文件,build.xml)。 Ant通过调用target树,就可以执行各种task。每个task实现了特定接口对象。 由于Ant构建文件 是XML格式的文件,所以很容易维护和书写,而且结构很清晰。 Ant可以...

Global site tag (gtag.js) - Google Analytics