`

Ant配置xml生成项目

    博客分类:
  • Ant
阅读更多

Ant确实很强大,可以通过xml配置文件生成整个 web项目:

我也是刚学习,分享一下我的一个简单的配置 :

<?xml version="1.0" encoding="UTF-8"?>
<project name="Helloworld" default="compile" basedir=".">

    <description>Live Online Bookstore v1.0</description>

    <!-- 定义变量 -->
    <property name="src.dir"      value="src" />
 <property name="lib.dir"       value="lib"></property>
    <property name="build.dir"    value="bin" />
    <!-- 定义classpath -->
    <path id="master-classpath">
        <fileset dir="${lib.dir}">
            <include name="**/*.jar" />
        </fileset>
        <pathelement path="${build.dir}"/>
    </path>
 
    <!-- 初始化目录 -->
    <target name="init">
        <mkdir dir="${build.dir}" />
    </target>

    <!-- 编译java代码 -->
    <target name="compile" depends="init">
         <mkdir dir="${build.dir}"/>
         <javac  destdir="${build.dir}">
              <classpath  refid="master-classpath" />
              <src  path="${src.dir}"/>
         </javac>
     <copy todir="${build.dir}">
       <fileset dir="${src.dir}">
         <include name="beans.xml"/>
       </fileset>
     </copy>
    </target> 
</project>

 

前面就是定义一个属性,把出现的目录名、文件名定义为变量,在更改目录或者文件名是,只需要更新变量即可。

变量也可以明确意义,可以在任何地方通过${变量名}引用变量。

<target>是一个子任务 : 我所知道的是它是一个多个任务的,完成目录创建、生成class、api文档等等

<copy>是复制。它的用法如下:

这个是;引用:http://www.blogjava.net/hh-lux/archive/2009/04/07/86635.html

 

1. 拷贝单个文件到指定目录下。
例:<copy todir="${basedir}/new" file="${basedir}/old/old1.txt1">
将${basedir}/old/old.txt文件拷贝到${basedir}/new下

2. 拷贝一批文件到指定目录下
例:<copy todir="${basedir}/new">
           <fileset dir="${basedir}/old">
              <include name="old1.txt" />
              <include name="old2.txt" />
              <exclude name="old8.txt" />
          </fileset>
       </copy>
      这里fileset定义的是原文件的组成形式,<include/>子属性表示包括,<exclude/>子属性表示排除,很简单,通过他们组合实现多文件的筛选,当然我这个例子用得很傻。比如
                <include name="appgen/**"/>
                <include name="ibatis/**"/>
                <exclude name="**/*.log"/>
      拷贝appget目录和ibatis目录下除了.log文件以外的其它所有文件和子目录。

      可以把<fileset/>简写成<fileset dir="${basedir}/old" includes="old1.txt,old2.txt" />,includes可以理解成include的复数形式,包含多个文件时用逗号隔开,excludes也一样。

3. 拷贝一个目录到指定目录下
例:<copy todir="${basedir}/new">
           <fileset dir="${basedir}/old">
             <include name="appgen" />
             <include name="appgen/" />
             <include name=appgen/**" />
             <include name="appgen/***" />
           </fileset>
       </copy>
      同样使用<fileset/>属性,name指定目录名,不过这里要分两种情况,用<include/>子属性和不用<include/>子属性.
      若使用<include/>, 又要分三种情况
          若是“appgen”,则只会拷贝名为appgen的空目录过去,它里面的文件和子目录则不会拷贝。
          若是“appgen/”,或“appgen/**”,则会把整个appgen目录拷贝过去,包括里面的文件和子目录。
          若是“appgen/*”,则只会把该目录和该目录下第一级子目录的所有东西拷贝过去,而不会拷贝第二级和第二级以下的。注:“appgen/*”这儿是一个*号,*号若大于两个,也跟一个*号是同样效果。比如“appgen/*”和“appgen/****”都只拷贝appgen目录下第一级子目录。

注:若appeng这个目录本身就是个空目录,无论怎么写,这个空目录都不会被拷贝。也就是说,copy操作不会产生创建空目录的作用,要想创建空目录,只有用mkdir。

      若不使用任何<include>属性,如
           <fileset dir="${basedir}/old">
           </fileset>
      则会拷贝${basedir}/old下的所有文件和子目录。

注:使用<exclude/>排除目录时,目录名必须写成“appgen/”或“appgen/**”形式,否则不会生效。

      以上是三种拷贝到目录的种类,注意如果计算机中没有todir指定的路径,ant将会自动创建这个路径。

4. 拷贝单个的文件:
〈copy tofile="old.txt" file="new.txt" /〉就这么简单就行了。
当然也可以写成
  <copy tofile="${basedir}/new/new.txt">
     <fileset dir="${basedir}/old" includes="old.txt" />
  </copy>
      这里includes就只能写一个文件,不能写上多个文件,因为不能将多个文件复制到一个文件中去,所以这样麻烦的写法是没有意义的。

介绍了copy的四种用法,还是不错了。在配置中我也出现一个"BUILD FAILED"的问题,

如果出现在copy这里的问题,估计就是你的文件没有创建或者是该文件不在此目录下.

 

 

 

 

分享到:
评论

相关推荐

    生成ANT所需要的Build,xml文件

    总结来说,这个Python程序gen1.py旨在简化Java开发中的ANT配置过程,通过自动分析项目结构和生成相应的build.xml文件,从而提高开发效率。了解ANT的基本概念、XML配置语法以及如何利用类似gen1.py的工具,对于Java...

    ant配置文件

    标题“ant配置文件”指的是Ant项目中的核心文件——build.xml。这个文件是Ant构建过程的蓝图,包含了所有构建任务和它们的依赖关系。它定义了如何编译源代码、打包应用、执行测试以及部署项目。在myEclipse这样的...

    ejb里的ant配置XML文档

    根据提供的文件信息,本文将对EJB项目中的Ant配置XML文档进行详细解析,重点在于理解该文件中的各个组成部分以及它们如何协同工作以实现EJB项目的构建、编译、打包及部署。 ### 一、XML文档概述 #### 1. 文档头部 ...

    ant配置ant配置

    Ant是Apache组织开发的一款强大的Java项目构建工具,它基于XML...理解并熟练掌握Ant配置,对于提升Java项目的开发效率和维护性至关重要。在实际工作中,不断学习和实践Ant的最佳实践,将使你的项目构建更加高效和可靠。

    ant的build.xml模板

    `build.xml`是Ant的构建配置文件,它是Ant执行任务的蓝图,定义了一系列的构建目标和任务。文件的结构通常包括项目声明、任务定义、属性设置、目标定义以及依赖关系等部分。下面我们将逐一剖析这些关键元素。 1. **...

    ant build.xml 使用实例

    `build.xml`是Ant的核心,它是项目的配置文件,描述了构建过程的步骤和规则。XML的结构使得构建脚本易于阅读和维护,也方便与其他工具集成。在"ant build.xml 使用实例"中,我们可以通过以下步骤学习和实践Ant的基本...

    ant集成jacoco生成代码覆盖率报表

    标题中的“ant集成jacoco生成代码覆盖率报表”指的是在Java开发中,使用Apache Ant构建工具与JaCoCo代码覆盖率库相结合,来生成项目代码的覆盖率报告。JaCoCo是一款广泛使用的开源代码覆盖率工具,它提供了方便的...

    ant +jmeter 生成测试报告.docx

    《Ant + JMeter 生成测试报告的详细指南》 在软件测试领域,性能测试是评估系统稳定性和效率的重要环节,Apache JMeter 是一...务必按照上述步骤操作,并根据实际项目需求调整配置,以确保测试报告的准确性和实用性。

    ant的基本配置说明

    通过这个简单的示例,我们可以看到Ant是如何将复杂的构建流程简化为可读性强、可定制的XML配置,这使得开发者能够更高效地管理和维护项目。Ant的跨平台特性使其在不同的操作系统上都能正常工作,这也是其广泛流行的...

    Ant+XDoclet生成hbm文件

    首先,Ant是一个基于Java的构建工具,它允许开发者通过XML配置文件来定义构建过程,包括编译、打包、测试等任务。Ant的核心理念是“一切都是文件”,这意味着它可以处理任何类型的文件操作,为项目提供了高度的可...

    网络上搜集的Findbugs在Ant下的配置方法

    生成的XML报告可以用FindBugs的GUI工具打开,也可以通过其他工具(如Jenkins)进行解析和展示。如果你选择了XML格式,还可以利用XSLT转换为HTML或其他格式,方便团队成员阅读。 总之,通过Ant与FindBugs的结合,...

    JUnit使用ANT格式化生成html测试报告

    5. **执行ANT构建**:通过命令行运行`ant`命令,ANT会根据build.xml文件中的配置执行相应的任务,完成测试并生成报告。 6. **HTML测试报告**:生成的HTML测试报告通常包括测试套件(测试类)、测试案例、每个测试...

    如何用ant生成javadoc

    本文将详细介绍如何利用Ant来自动化生成项目的Javadoc文档。 #### 二、Ant简介与安装 **1. Apache Ant简介** Apache Ant是一款开源的Java构建工具,它通过XML文件定义构建过程,可以用来编译、调试、测试和部署...

    ant build.xml例子

    `build.xml`文件是Ant的核心,它使用XML语法定义了一系列的任务(tasks),这些任务包含了构建过程中的各种操作,如编译源代码、运行测试、生成JAR文件等。以下是一些关于Ant和`build.xml`文件的基本知识点: 1. **...

    ant的配置文件build.xml

    在Ant的世界中,`build.xml`是核心配置文件,它包含了项目构建的所有指令和任务。这篇内容将深入解析`build.xml`文件的结构、元素以及如何使用它来管理Java项目的构建过程。 一、`build.xml`文件结构 `build.xml`...

    Ant部署WebService服务

    Apache Ant是一个流行的开源构建工具,它基于XML来定义项目构建过程,允许开发者自动化编译、打包、测试等任务。这篇博客“Ant部署WebService服务”可能详细阐述了如何使用Ant来部署Web服务,而“NULL”描述意味着...

    Jmeter+ant实现测试报告build.xml和报告模板jmeter-results-newreport.xsl

    2. **Ant自动化构建**:Apache Ant是一种基于XML的构建工具,常用于Java项目的编译、打包和部署。在接口测试场景中,Ant可以用来自动化执行JMeter测试计划,并生成测试报告。通过在`build.xml`文件中定义目标和任务...

Global site tag (gtag.js) - Google Analytics