`
抛出异常的爱
  • 浏览: 627776 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ANT成长笔记

阅读更多
以前的项目都是用别人的build.xml
下定决心自己写一个build.xml
以加深对软件的理解:
下下第一版。
根目录下写了一个build.xml
当然这是用myecllips生成的项目了。

<?xml version ="1.0" ?>
<project name="neutral" default="all" basedir="." >
	<!-- ================================= 
          target: all              
         ================================= -->
    <target name="all"  description="--> description">
        
    </target>


</project>

ctrl+alt+x+q运行一下
引用
Buildfile: C:\Documents and Settings\maomao\workspace\neutral\build.xml
all:
BUILD SUCCESSFUL
Total time: 125 milliseconds

看来没问题。
------------------------------------
下一步
构建目录树:
1.src/java是放源码的
2.src/test是放测试与mock代码的。
3.src/source放配置文件用。
-------------------
以上三个目录在eclipse中指向neutral/WebRoot/WEB-INF/classes

-------------------
4.testlib是放测试时才会用到的包
5.userlib放运行时用的包。

添加目录定义区
<?xml version ="1.0" ?>
<project name="neutral" default="all" basedir="." >
	<!-- ================================= 
          target: all              
         ================================= -->
    <target name="all"  description="--> description">
    	<echo message="mynameis">maodajun</echo>    
    </target>
	<property name="build.dir" location="build" description=""/><!-- ANT 临时 文件 区-->
	<property name="src.dir" location="src" description=""/><!--源文件区 -->
	<property name="product.class" location="${build.dir}/product" description="成品区"/><!--成品存放区 -->
	<property name="source.class" location="${build.dir}/class" description="编译区" /><!-- 源文件编译区-->
	<property name="junittest.class" location="${build.dir}/test" description="测试编译区"/><!—单元测试文件编译区-->
	<property name="source.dir" location="${src.dir}/java" description=" 源码"/><!-- 源代码-->
	<property name="junittest.dir" location="${src.dir}/test" description=" 测试码"/><!-- 测试码-->
	<property name="context.dir" location="${src.dir}/source" description="配置区"/><!-- 应用配置文件-->
	<property name="jsp.dir" location="WebRoot/WebRoot/WEB-INF/jsp" description="配置区"/><!-- 应用配置文件-->
	<property name="user.lib" location="lib/user" description="用户库"/><!-- 用户所需要的lib 库-->
	<property name="test.lib" location="lib/test" description="测试库"/>	<!-- 测试所需要的lib 库 -->

	
	<echo>	
		+--${product.class}
		|--${source.class}
		|--${test.class}
		+--${source.dir}
		|--${junittest.dir}
		|--${context.dir}
		|--${jsp.dir}
		+--${user.lib}
		|--${test.lib}
	</echo>
</project>

引用

Buildfile: C:\Documents and Settings\maomao\workspace\neutral\build.xml
     [echo] +--C:\Documents and Settings\maomao\workspace\neutral\build\product
     [echo] |--C:\Documents and Settings\maomao\workspace\neutral\build\class
     [echo] |--C:\Documents and Settings\maomao\workspace\neutral\build\test
     [echo] +--C:\Documents and Settings\maomao\workspace\neutral\src\java
     [echo] |--C:\Documents and Settings\maomao\workspace\neutral\src\test
     [echo] |--C:\Documents and Settings\maomao\workspace\neutral\src\source
     [echo] |--C:\Documents and Settings\maomao\workspace\neutral\WebRoot\WebRoot\WEB-INF\jsp
     [echo] +--C:\Documents and Settings\maomao\workspace\neutral\lib\user
     [echo] |--C:\Documents and Settings\maomao\workspace\neutral\lib\test
all:
     [echo] mynameismaodajun
BUILD SUCCESSFUL
Total time: 187 milliseconds


―――――――――――――――――――――――――
重头戏。。。。
编译过程叫compile
----
注1:在all中加入compile
否则是不会运行地。。。。。。。
注2:在源目录下写个程序吧。。。。。
package com.alcargo.tianhangteam.tools;

import org.apache.log4j.Logger;

public class HelloWorld {
	public static void main(String[] args) {
		System.out.println("hellowrld");

	}

}

<?xml version ="1.0" ?>
<project name="neutral" default="all" basedir="." >
	<!-- ================================= 
          target: all              
         ================================= -->
    <target name="all" depends="compile" description="--> description">
    	<echo message="mynameis">maodajun</echo>    
    </target>
	<property name="build.dir" location="build" description=""/><!-- ANT 临时 文件 区-->
	<property name="src.dir" location="src" description=""/><!--源文件区 -->
	<property name="product.class" location="${build.dir}/product" description="成品区"/><!--成品存放区 -->
	<property name="source.class" location="${build.dir}/class" description="编译区" /><!-- 源文件编译区-->
	<property name="junittest.class" location="${build.dir}/test" description="测试编译区"/><!-- 测试文件编译区-->
	<property name="source.dir" location="${src.dir}/java" description=" 源码"/><!-- 源代码-->
	<property name="junittest.dir" location="${src.dir}/test" description=" 测试码"/><!-- 测试码-->
	<property name="context.dir" location="${src.dir}/source" description="配置区"/><!-- 应用配置文件-->
	<property name="jsp.dir" location="WebRoot/WebRoot/WEB-INF/jsp" description="配置区"/><!-- 应用配置文件-->
	<property name="user.lib" location="lib/user" description="用户库"/><!-- 用户所需要的lib 库-->
	<property name="test.lib" location="lib/test" description="测试库"/>	<!-- 测试所需要的lib 库 -->

	
	<echo>	
		+--${product.class}
		|--${source.class}
		|--${junittest.class}
		+--${source.dir}
		|--${junittest.dir}
		|--${context.dir}
		|--${jsp.dir}
		+--${user.lib}
		|--${test.lib}
	</echo>

	
	<!-- ================================= 
          target: compile              
         ================================= -->
    <target name="compile" depends="" description="--> 编译源文件">
        <javac srcdir="${source.dir}" destdir="${source.class}">
        </javac>
    </target>


</project>


引用

Buildfile: C:\Documents and Settings\maomao\workspace\neutral\build.xml
     [echo] +--C:\Documents and Settings\maomao\workspace\neutral\build\product
     [echo] |--C:\Documents and Settings\maomao\workspace\neutral\build\class
     [echo] |--C:\Documents and Settings\maomao\workspace\neutral\build\test
     [echo] +--C:\Documents and Settings\maomao\workspace\neutral\src\java
     [echo] |--C:\Documents and Settings\maomao\workspace\neutral\src\test
     [echo] |--C:\Documents and Settings\maomao\workspace\neutral\src\source
     [echo] |--C:\Documents and Settings\maomao\workspace\neutral\WebRoot\WebRoot\WEB-INF\jsp
     [echo] +--C:\Documents and Settings\maomao\workspace\neutral\lib\user
     [echo] |--C:\Documents and Settings\maomao\workspace\neutral\lib\test
compile:
     [echo] 编译

BUILD FAILED
C:\Documents and Settings\maomao\workspace\neutral\build.xml:40: destination directory "C:\Documents and Settings\maomao\workspace\neutral\build\class" does not exist or is not a directory

Total time: 234 milliseconds

没找到目录错误。。。
所以我们加入另一个任务
构造目录

    <!-- - - - - - - - - - - - - - - - - - 
          target: 构建目录                      
         - - - - - - - - - - - - - - - - - -->
    <target name="buildingpath" description="构建所需要目录">
    	<echo message="构建目录"></echo>
        <mkdir dir="${source.class}"/>
    	<mkdir dir="${junittest.class}"/>
    	<mkdir dir="${product.class}"/>
</target>


引用

Buildfile: C:\Documents and Settings\maomao\workspace\neutral\build.xml
     [echo] +--C:\Documents and Settings\maomao\workspace\neutral\build\product
     [echo] |--C:\Documents and Settings\maomao\workspace\neutral\build\class
     [echo] |--C:\Documents and Settings\maomao\workspace\neutral\build\test
     [echo] +--C:\Documents and Settings\maomao\workspace\neutral\src\java
     [echo] |--C:\Documents and Settings\maomao\workspace\neutral\src\test
     [echo] |--C:\Documents and Settings\maomao\workspace\neutral\src\source
     [echo] |--C:\Documents and Settings\maomao\workspace\neutral\WebRoot\WebRoot\WEB-INF\jsp
     [echo] +--C:\Documents and Settings\maomao\workspace\neutral\lib\user
     [echo] |--C:\Documents and Settings\maomao\workspace\neutral\lib\test
buildingpath:
     [echo] 构建目录
    [mkdir] Created dir: C:\Documents and Settings\maomao\workspace\neutral\build\class
    [mkdir] Created dir: C:\Documents and Settings\maomao\workspace\neutral\build\test
    [mkdir] Created dir: C:\Documents and Settings\maomao\workspace\neutral\build\product
compile:
     [echo] 编译
    [javac] Compiling 2 source files to C:\Documents and Settings\maomao\workspace\neutral\build\class
all:
     [echo] mynameismaodajun
BUILD SUCCESSFUL
Total time: 1 second


顺序没关系只要依赖对了就OK

不过第二次的日志就成这样子了
引用
Buildfile: C:\Documents and Settings\maomao\workspace\neutral\build.xml
     [echo] +--C:\Documents and Settings\maomao\workspace\neutral\build\product
     [echo] |--C:\Documents and Settings\maomao\workspace\neutral\build\class
     [echo] |--C:\Documents and Settings\maomao\workspace\neutral\build\test
     [echo] +--C:\Documents and Settings\maomao\workspace\neutral\src\java
     [echo] |--C:\Documents and Settings\maomao\workspace\neutral\src\test
     [echo] |--C:\Documents and Settings\maomao\workspace\neutral\src\source
     [echo] |--C:\Documents and Settings\maomao\workspace\neutral\WebRoot\WebRoot\WEB-INF\jsp
     [echo] +--C:\Documents and Settings\maomao\workspace\neutral\lib\user
     [echo] |--C:\Documents and Settings\maomao\workspace\neutral\lib\test
buildingpath:
     [echo] 构建目录
compile:
     [echo] 编译
all:
     [echo] mynameismaodajun
BUILD SUCCESSFUL
Total time: 718 milliseconds


<?xml version ="1.0" ?>
<project name="neutral" default="all" basedir="." >
	<!-- ================================= 
          target: all              
         ================================= -->
    <target name="all" depends="clean,compile" description="--> description">
    	<echo message="mynameis">maodajun</echo>    
    </target>
	<property name="build.dir" location="build" description=""/><!-- ANT 临时 文件 区-->
	<property name="src.dir" location="src" description=""/><!--源文件区 -->
	<property name="product.class" location="${build.dir}/product" description="成品区"/><!--成品存放区 -->
	<property name="source.class" location="${build.dir}/class" description="编译区" /><!-- 源文件编译区-->
	<property name="junittest.class" location="${build.dir}/test" description="测试编译区"/><!-- 测试文件编译区-->
	<property name="source.dir" location="${src.dir}/java" description=" 源码"/><!-- 源代码-->
	<property name="junittest.dir" location="${src.dir}/test" description=" 测试码"/><!-- 测试码-->
	<property name="context.dir" location="${src.dir}/source" description="配置区"/><!-- 应用配置文件-->
	<property name="jsp.dir" location="WebRoot/WebRoot/WEB-INF/jsp" description="配置区"/><!-- 应用配置文件-->
	<property name="user.lib" location="lib/user" description="用户库"/><!-- 用户所需要的lib 库-->
	<property name="test.lib" location="lib/test" description="测试库"/>	<!-- 测试所需要的lib 库 -->

	
	<echo>	
		+--${product.class}
		|--${source.class}
		|--${junittest.class}
		+--${source.dir}
		|--${junittest.dir}
		|--${context.dir}
		|--${jsp.dir}
		+--${user.lib}
		|--${test.lib}
	</echo>

	
	<!-- ================================= 
          target: compile              
         ================================= -->
    <target name="compile" depends="buildingpath" description="--> 编译源文件">
        <echo message="编译"></echo>
    	<javac srcdir="${source.dir}" destdir="${source.class}">
        </javac>
    </target>

    <!-- - - - - - - - - - - - - - - - - - 
          target: 构建目录                      
         - - - - - - - - - - - - - - - - - -->
    <target name="buildingpath" description="构建所需要目录">
    	<echo message="构建目录"></echo>
        <mkdir dir="${source.class}"/>
    	<mkdir dir="${junittest.class}"/>
    	<mkdir dir="${product.class}"/>
    </target>
	
	<!-- - - - - - - - - - - - - - - - - - 
          target: 清除上次的文件                      
         - - - - - - - - - - - - - - - - - -->
    <target name="clean" description="删除编译文件与文件所在的目录">
    	<echo message="清除临时文件目录"></echo>
            <deltree dir="${build.dir}"/>
    </target>

</project>


引用
Buildfile: C:\Documents and Settings\maomao\workspace\neutral\build.xml
     [echo] +--C:\Documents and Settings\maomao\workspace\neutral\build\product
     [echo] |--C:\Documents and Settings\maomao\workspace\neutral\build\class
     [echo] |--C:\Documents and Settings\maomao\workspace\neutral\build\test
     [echo] +--C:\Documents and Settings\maomao\workspace\neutral\src\java
     [echo] |--C:\Documents and Settings\maomao\workspace\neutral\src\test
     [echo] |--C:\Documents and Settings\maomao\workspace\neutral\src\source
     [echo] |--C:\Documents and Settings\maomao\workspace\neutral\WebRoot\WebRoot\WEB-INF\jsp
     [echo] +--C:\Documents and Settings\maomao\workspace\neutral\lib\user
     [echo] |--C:\Documents and Settings\maomao\workspace\neutral\lib\test
clean:
     [echo] 清除临时文件目录
  [deltree] DEPRECATED - The deltree task is deprecated.  Use delete instead.
  [deltree] Deleting: C:\Documents and Settings\maomao\workspace\neutral\build
buildingpath:
     [echo] 构建目录
    [mkdir] Created dir: C:\Documents and Settings\maomao\workspace\neutral\build\class
    [mkdir] Created dir: C:\Documents and Settings\maomao\workspace\neutral\build\test
    [mkdir] Created dir: C:\Documents and Settings\maomao\workspace\neutral\build\product
compile:
     [echo] 编译
    [javac] Compiling 2 source files to C:\Documents and Settings\maomao\workspace\neutral\build\class
all:
     [echo] mynameismaodajun
BUILD SUCCESSFUL
Total time: 1 second
分享到:
评论
5 楼 castbsd 2008-11-25  
<javac /> 中最基本的五年元素一个都不能少


<javac srcdir="${src.dir}  destdir=${classes.dir}
       encoding="utf-8"    target="1.6"
       classpathref="compile.path"
/>

这样写会避免很多问题.
同时会让生活更加灿烂!
4 楼 wu_jiaxiang 2008-09-28  
moven不错
3 楼 抛出异常的爱 2008-09-28  
以前用的都是别人写的.....
现在要自己写个 
2 楼 YuLimin 2008-09-27  
偶眼花,五六年前用Java而一直不用ANT的人是神人:)
1 楼 cddcdd 2008-09-13  

对您老来说肯定很容易的

相关推荐

    ant_学习笔记

    ### ant学习笔记:深入了解ant构建工具 #### 引言 `ant`,作为一款源自动网络的学习笔记,主要探讨了Apache Ant这一强大的构建工具。Apache Ant是一款开源的、跨平台的构建工具,专为Java应用程序设计,旨在简化并...

    ant学习笔记之(ant执行命令的详细参数和Ant自带的系统属性)

    《Ant学习笔记:详解Ant执行命令参数与系统属性》 Ant,作为一个基于Java的构建工具,因其跨平台性以及XML格式的构建脚本而被广泛应用于自动化构建过程,如编译、打包、测试等。本篇文章将深入探讨Ant执行命令的...

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

    根据提供的文件信息,这里将深入解析“ant学习笔记:一个简单的java编译部署实例”,涵盖标题、描述、标签以及部分内容中提及的关键知识点。 ### Apache Ant简介 Apache Ant是一款开源的Java环境下的自动化构建...

    Ant 1.9.1 学习笔记

    Ant 1.9.1是Ant的一个版本,学习笔记通常记录了使用该工具的基本操作和配置方法。 ### Ant的下载和安装 要使用Ant,首先需要下载并安装。在Windows系统中,通常需要配置环境变量以便于命令行中使用Ant命令。ANT_...

    ant个人学习笔记和简单示例

    总的来说,这个“ant个人学习笔记和简单示例”应该能帮助你掌握Ant的基本用法,理解构建过程的自动化,以及如何编写和维护自己的构建文件。通过学习和实践其中的示例,你将能够熟练地运用Ant来构建和管理Java项目,...

    经典ant笔记.doc

    ### 经典Ant笔记知识点详解 #### 一、Ant简介及功能 - **定义与作用:** - Ant是一款开源的Java平台上的自动化构建工具,主要用于简化软件项目的构建过程,支持多种任务,如编译Java源代码、运行Java程序、复制...

    Ant学习笔记

    在“Ant学习笔记”中,我们可以深入探讨以下几个关键知识点: 1. **Ant基本概念**:Ant是Apache软件基金会下的一个项目,主要由Java编写。它的核心类库`ant.jar`包含了所有执行构建任务所需的组件。XML文件,通常...

    Ant 学习笔记

    **Ant学习笔记** Apache Ant,一个Java库和命令行工具,其任务是驱动构建过程。它是Java世界中广泛使用的构建工具,类似于Unix世界的Make。Ant以其XML格式的构建文件(通常命名为`build.xml`)而闻名,这个文件包含...

    ant ant ant ant

    "Ant ant ant antant ant ant antant ant ant ant" 这个描述可能是在强调Ant在项目构建过程中的重复性和不可或缺性,暗示着它在工程中的频繁使用和核心地位。 Ant的设计理念是“一切都是XML”,它通过XML格式的构建...

    ant ant下载与配置

    ant ant下载 ant配置ant ant下载 ant配置ant ant下载 ant配置

    Ant构建工具学习笔记

    《Ant构建工具学习指南》 Ant,作为Java领域的一个强大构建工具,它的主要作用在于将复杂的项目构建过程规范化、自动化,使得开发者能够更专注于代码的编写而非构建流程。本文将深入探讨Ant的基本概念、安装配置、...

    Ant安装配置笔记.doc

    ANT,全称Apache Ant,是一个基于Java的构建工具,它以XML格式定义构建脚本,使得项目构建过程具有良好的可读性和可维护性。ANT在Java世界中扮演的角色类似于C语言中的make工具,用于自动化执行诸如编译、打包、测试...

    ant的学习笔记.doc

    ### ant的学习笔记知识点详解 #### 一、Ant的作用与特性 Ant是一款强大的自动化构建工具,主要应用于Java项目,能够高效地处理项目的编译、打包、测试等任务。它采用XML格式编写构建脚本,这使得Ant具有良好的跨...

    apache-ant-1.6.5-bin.zip_ ant 1.6.5_ant_ant-1.6.5_apache ant win

    Apache Ant 是一个开源的构建工具,广泛用于Java项目构建,由Apache软件基金会开发。这个"apache-ant-1.6.5-bin.zip"文件是Ant的1.6.5版本的二进制发行版,适合在Windows操作系统上使用。Ant是基于Java的,它的主要...

    开发工具 ant-1.9.6

    开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6...

Global site tag (gtag.js) - Google Analytics