因为项目需求,需要自动编译,打包源文件。通过eclipse导出功能,不能实现自动 编译,打包。
即决定用ant来完成,(ant可以通过 批处理文件调用)
因为项目架构比较特殊,有path1/src,path2/src,path3/src 多个同级源文件目录。
而且需要多个classpath目录,存放着需要用到的jar包。
在网上搜索,多是简单的ant配置,而后几经折磨,得到如下配置。
可以成功完成需求功能。
- <?xml version="1.0" encoding="GBK" ?>
- <!-- ===================================== -->
- <!-- 张楠 2010/01/12 -->
- <!-- ===================================== -->
- <!--default="clean"定义ant运行到target clean这一步结束-->
- <project name="projectName" default="clean" basedir="D:/work/projectName">
- <description>projectName系统发布</description>
- <!--属性设置-->
- <property environment="env" />
- <property name="src.dir" value="${basedir}/src" />
- <property name="jar.file" value="projectName.jar" />
- <property name="java.lib.dir" value="${env.JAVA_HOME}/lib" />
- <property name="build.dir" value="${basedir}/build" />
- <property name="classes.dir" value="${build.dir}/classes" />
- <property name="dist.dir" value="D:/contrib" />
- <!-- 基本编译路径设置 定义多个classpath-->
- <path id="compile.classpath">
- <fileset dir="${java.lib.dir}">
- <include name="tools.jar" />
- </fileset>
- <fileset dir="D:/contrib">
- <include name="*.jar" />
- </fileset>
- </path>
- <!-- 运行路径设置 -->
- <!--path id="run.classpath">
- <path refid="compile.classpath" />
- <pathelement location="${classes.dir}" />
- </path-->
- <!-- 排除java源文件的模式集 -->
- <patternset id="no.java">
- <exclude name="**/*.java" />
- </patternset>
- <!-- 初始化,建立目录,将多个src目录复制到同一src目录,编译,打包完成后自动清除 -->
- <target name="init" description="初始化,建立目录,复制文件">
- <mkdir dir="${classes.dir}" />
- <mkdir dir="${dist.dir}" />
- <mkdir dir="${src.dir}" />
- <copy todir="${src.dir}">
- <fileset dir="${basedir}/path1/src">
- <include name="**/*.java" />
- </fileset>
- </copy>
- <copy todir="${src.dir}">
- <fileset dir="${basedir}/path2/src">
- <include name="**/*.java" />
- </fileset>
- </copy>
- <copy todir="${src.dir}">
- <fileset dir="${basedir}/path3/src">
- <include name="**/*.java" />
- </fileset>
- </copy>
- <copy todir="${src.dir}">
- <fileset dir="${basedir}/path4/src">
- <include name="**/*.java" />
- </fileset>
- </copy>
- <copy todir="${classes.dir}">
- <fileset dir="${src.dir}">
- <patternset refid="no.java" />
- </fileset>
- </copy>
- </target>
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 长期推荐成都知名外企(英语好 C++ JAVA)
- mail to:hot13399@163.com
- [url]http://woshizn.iteye.com/blog/1195498[/url]
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- <!-- 编译源文件-->
- <target name="compile" depends="init" description="编译源文件">
- <javac srcdir="${src.dir}" destdir="${classes.dir}" source="1.5" target="1.5">
- <classpath refid="compile.classpath" />
- </javac>
- </target>
- <!-- 打包类文件 -->
- <target name="jar" depends="compile" description="打包类文件">
- <jar jarfile="${dist.dir}/${jar.file}" >
- <fileset dir="${classes.dir}" includes="**/*.*" />
- </jar>
- </target>
- <!-- 清理,删除临时目录 -->
- <target name="clean" depends="jar" description="清理,删除临时目录">
- <delete dir="${build.dir}" />
- <delete dir="${basedir}/.settings" />
- <delete dir="${src.dir}" />
- <delete dir="${basedir}/bin" />
- <echo level="info">清理完毕</echo>
- </target>
- <!-- 从打包后jar的文件里运行 -->
- <!--target name="runjar" depends="jar" description="运行jar">
- <java jar="${dist.dir}/${jar.file}" fork="yes" dir="${basedir}" />
- </target-->
- <!-- 运行 -->
- <!--target name="run" depends="compile" description="运行">
- <java classname="powerwind.Sample" fork="yes" dir="${basedir}">
- <classpath refid="run.classpath" />
- <arg line="${param.msg}" />
- </java>
- </target-->
- </project>
相关推荐
`build.xml`是Ant的构建配置文件,它是Ant执行任务的蓝图,定义了一系列的构建目标和任务。文件的结构通常包括项目声明、任务定义、属性设置、目标定义以及依赖关系等部分。下面我们将逐一剖析这些关键元素。 1. **...
Apache Ant 是一个Java平台上的开源构建工具,它通过XML格式的配置文件(如`build.xml`)来定义构建任务。Ant的设计理念是“简单就是美”,它使得Java项目的构建过程变得可配置且易于理解。本文将深入解析`build.xml...
4. **自定义构建目标**:`build.xml`可以定义多个目标,通过在命令行指定目标名来选择执行哪个目标,如`ant compile`或`ant package`。每个目标可以依赖其他目标,形成构建链。 5. **属性与属性文件**:Ant支持使用...
Apache Ant是Java领域广泛应用的一个开源构建工具,其核心在于一个名为`build.xml`的配置文件。本文将深入探讨`build.xml`文件的结构和功能,以及如何利用它来编译Java Web应用。 1. **Ant基础** Apache Ant是一种...
Apache Ant是Java领域广泛应用的一个构建工具,其核心在于一个名为`build.xml`的配置文件。本文将深入探讨`build.xml`的编写及其在项目构建中的应用。 `build.xml`是Ant的工作剧本,它定义了一系列的构建任务和目标...
在Ant的世界中,`build.xml`是核心配置文件,它包含了项目构建的所有指令和任务。这篇内容将深入解析`build.xml`文件的结构、元素以及如何使用它来管理Java项目的构建过程。 一、`build.xml`文件结构 `build.xml`...
Ant 是一个广泛应用于Java项目的自动化构建工具,它的核心在于一个名为`build.xml`的XML文件,此文件定义了构建过程中的各种任务和目标,使得项目构建过程规范化、自动化。本文将深入解析`build.xml`文件的结构、...
Ant是Apache组织提供的一款Java语言的构建工具,它的配置文件通常以`build.xml`为名,它是Ant工作的蓝图。这篇博客文章“ant build.xml例子”可能详细介绍了如何使用Ant来管理Java项目的构建过程。 `build.xml`文件...
本文将深入探讨“项目build.xml文件”,这是一个与Ant构建工具密切相关的文件,用于规范Java项目的构建过程。 Ant是Apache软件基金会的一个开源项目,它是一个基于Java的构建工具,类似于Unix下的Make工具,但更为...
Apache Ant是一个广泛使用的Java构建工具,它通过XML配置文件(如`build.xml`)来定义构建过程,包括编译、打包、测试、部署等任务。这个压缩包`apache-ant-1.8.4-bin.zip`包含了Ant的二进制版本,用户可以直接解压...
Ant是一个流行的Java构建工具,它允许我们通过配置XML文件(build.xml)来执行自动化构建任务,包括jar文件的创建和合并。下面我们将详细讨论如何使用Ant实现这个目标。 首先,确保你已经安装了Ant,并且在项目中...
本文将详细介绍如何在Eclipse环境中配置和测试Ant,以及如何通过`build.xml`文件来管理这些任务。 #### 二、Ant简介 Apache Ant是一款开源的Java项目构建工具,它使用XML格式的脚本来定义项目的构建过程。Ant脚本...
### Ant的最完整的build.xml解释 #### 一、Ant简介及背景 Ant 是一款非常实用且功能强大的构建工具,主要用于Java项目的编译、测试、部署等自动化任务处理。相较于传统的Make命令工具,Ant的设计更加现代化,它...
Ant作为一个强大的构建工具,通过XML配置文件实现自动化构建流程,包括编译、测试、打包等,同时支持依赖管理和远程资源下载。熟练掌握Ant的使用,将极大提升开发者的工作效率,确保项目的构建过程高效且稳定。
Ant基于XML,定义了一系列的构建任务,如编译、打包、测试等,通过XML格式的构建文件(build.xml)来驱动整个项目构建。它最初是作为Java项目构建的替代方案,相对于Makefile提供了更易于跨平台的解决方案。 二、...
总结,Ant编译多目录的项目,主要通过`build.xml`文件配置多个`fileset`来指定源码位置,然后使用`<javac>`任务进行编译。理解并熟练掌握Ant的配置方式,能帮助开发者高效地管理复杂的项目构建过程。
Ant的核心功能包括编译源代码、打包、运行测试、部署应用等,它通过任务(Tasks)实现这些操作,每个任务都是一个特定构建步骤的实现。 Ant-Launcher.jar是Ant的一部分,它是Ant的启动器,负责执行Ant的主类`org....
Apache Ant的核心概念是构建文件(build.xml),这是一个XML文档,定义了构建过程中所需的任务和目标。这些任务包括编译源代码、创建JAR文件、运行测试、打包应用等。在Ant中,每个任务都是通过一个称为任务(task)的...
1. **配置build.xml**:首先,你需要创建或编辑一个名为build.xml的文件,这是Ant的工作说明书。在这个文件中,你会定义目标(target),每个目标代表一个具体的构建任务。 2. **定义属性(Properties)**:在build...