Datatype在Ant中扮演任务参数的角色,可以在一个任务内部声明,也可以在任务外部定义,并为它起个名字,再把这个名字传给任务。这样就可以在多个任务中共享一个Datatype。
Datatype可以存储大量在构建过程中使用的复杂信息,比如一个待编译的文件列表或者一个待删除的目录集。
path是一个有序的元素列表,这些元素可以是文件或目录。它的名字可能与任务相关,或者只是简单<path>。
1. 如果路径只包含一个path或location,可以简写为,其中location都可换为path:
Java文件:
package xuj.ant; import org.apache.commons.lang.StringUtils; public class Main { public static void main(String[] args){ System.out.println(StringUtils.capitalize("test")); } }
build.xml文件
<?xml version="1.0" encoding="UTF-8"?> <project name="datatype_path" default="execute"> <!--<path id="compile.classpath" location="lib/commons-lang-2.4.jar" />--> <path id="compile.classpath"> <pathelement location="lib/commons-lang-2.4.jar"/> </path> <target name="init" description="创建项目文件夹"> <mkdir dir="build/classes"/> </target> <target name="compile" depends="init" description="编译Java源文件"> <javac includeAntRuntime="false" srcdir="src" destdir="build/classes"> <classpath refid="compile.classpath"/> </javac> <echo level="info">compilation complete!</echo> </target> <target name="clean" description="清除项目文件夹"> <delete dir="build"/> <delete dir="dist"/> </target> <target name="execute" depends="compile" description="运行项目"> <java classname="xuj.ant.Main" classpath="build/classes"> <classpath refid="compile.classpath"/> </java> </target> </project>
输出:
>ant Buildfile: E:\antspace\datatype\build.xml init: [mkdir] Created dir: E:\antspace\datatype\build\classes compile: [javac] Compiling 1 source file to E:\antspace\datatype\build\classes [echo] compilation complete! execute: [java] Test BUILD SUCCESSFUL Total time: 1 second
2. 如果是多个文件,可以用“;”或者“:”分隔,或一个文件集合,或单独写每个path:
Java文件:
package xuj.ant; import org.apache.commons.lang.StringUtils; import org.apache.commons.mail.Email; public class Main { public static void main(String[] args){ System.out.println(StringUtils.capitalize("test")); System.out.println(Email.MAIL_SMTP_TIMEOUT); } }
build.xml文件:
<?xml version="1.0" encoding="UTF-8"?> <project name="datatype_path" default="execute"> <!--方法一 <path id="compile.classpath" path="lib/commons-lang-2.4.jar;lib/commons-email-1.2.jar" /> --> <!--方法二 <path id="compile.classpath"> <pathelement location="lib/commons-lang-2.4.jar"/> <pathelement location="lib/commons-email-1.2.jar"/> </path> --> <!-- 方法三 --> <path id="compile.classpath"> <fileset dir="lib"> <include name="*.jar"/> </fileset> </path> <target name="init" description="创建项目文件夹"> <mkdir dir="build/classes"/> </target> <target name="compile" depends="init" description="编译Java源文件"> <javac includeAntRuntime="false" srcdir="src" destdir="build/classes"> <classpath refid="compile.classpath"/> </javac> <echo level="info">compilation complete!</echo> </target> <target name="clean" description="清除项目文件夹"> <delete dir="build"/> <delete dir="dist"/> </target> <target name="execute" depends="compile" description="运行项目"> <java classname="xuj.ant.Main" classpath="build/classes"> <classpath refid="compile.classpath"/> </java> </target> </project>
或
<?xml version="1.0" encoding="UTF-8"?> <project name="datatype_path" default="execute"> <path id="compile.classpath1" location="lib/commons-lang-2.4.jar" /> <path id="compile.classpath2" location="lib/commons-email-1.2.jar" /> <target name="init" description="创建项目文件夹"> <mkdir dir="build/classes"/> </target> <target name="compile" depends="init" description="编译Java源文件"> <javac includeAntRuntime="false" srcdir="src" destdir="build/classes"> <classpath refid="compile.classpath1"/> <classpath refid="compile.classpath2"/> </javac> <echo level="info">compilation complete!</echo> </target> <target name="clean" description="清除项目文件夹"> <delete dir="build"/> <delete dir="dist"/> </target> <target name="execute" depends="compile" description="运行项目"> <java classname="xuj.ant.Main" classpath="build/classes"> <classpath refid="compile.classpath1"/> <classpath refid="compile.classpath2"/> </java> </target> </project>
输出:
>ant Buildfile: E:\antspace\datatype\build.xml init: [mkdir] Created dir: E:\antspace\datatype\build\classes compile: [javac] Compiling 1 source file to E:\antspace\datatype\build\classes [echo] compilation complete! execute: [java] Test [java] mail.smtp.timeout BUILD SUCCESSFUL Total time: 1 second
3.最终的build.xml
<?xml version="1.0" encoding="UTF-8"?> <project name="datatype_path" default="execute"> <property name="build.dir" location="build/classes"/> <path id="compile.classpath"> <pathelement location="lib/commons-lang-2.4.jar"/> <pathelement location="lib/commons-email-1.2.jar"/> </path> <target name="init" description="创建项目文件夹"> <mkdir dir="${build.dir}"/> </target> <target name="compile" depends="init" description="编译Java源文件"> <javac includeAntRuntime="false" srcdir="src" destdir="${build.dir}"> <classpath refid="compile.classpath"/> </javac> <echo level="info">compilation complete!</echo> </target> <target name="clean" description="清除项目文件夹"> <delete dir="build"/> <delete dir="dist"/> </target> <target name="execute" depends="compile" description="运行项目"> <java classname="xuj.ant.Main" classpath="${build.dir}"> <classpath refid="compile.classpath"/> </java> </target> </project>
相关推荐
org.apache.tools.ant.types.Path org.apache.tools.ant.BuildLogger org.apache.tools.ant.Diagnostics org.apache.tools.ant.FileScanner org.apache.tools.ant.TaskAdapter org.apache.tools.ant....
《Ant权威指南》提供了Ant核心任务的详细定义;讨论了Ant的主要特性提供乐观用Ant来管理工程的一些最佳实践;解释了某些Ant问题的解决方法。...path DataType mapperDataType 第五章 用户编写任务 。。。。。。
赠送jar包:jackson-datatype-jsr310-2.13.1.jar; 赠送原API文档:jackson-datatype-jsr310-2.13.1-javadoc.jar; 赠送源代码:jackson-datatype-jsr310-2.13.1-sources.jar; 赠送Maven依赖信息文件:jackson-...
赠送jar包:jackson-datatype-jsr310-2.12.5.jar; 赠送原API文档:jackson-datatype-jsr310-2.12.5-javadoc.jar; 赠送源代码:jackson-datatype-jsr310-2.12.5-sources.jar; 赠送Maven依赖信息文件:jackson-...
赠送jar包:jackson-datatype-jdk8-2.13.1.jar; 赠送原API文档:jackson-datatype-jdk8-2.13.1-javadoc.jar; 赠送源代码:jackson-datatype-jdk8-2.13.1-sources.jar; 赠送Maven依赖信息文件:jackson-datatype-...
赠送jar包:jackson-datatype-jsr310-2.11.4.jar; 赠送原API文档:jackson-datatype-jsr310-2.11.4-javadoc.jar; 赠送源代码:jackson-datatype-jsr310-2.11.4-sources.jar; 赠送Maven依赖信息文件:jackson-...
赠送jar包:jackson-datatype-jsr310-2.9.7.jar; 赠送原API文档:jackson-datatype-jsr310-2.9.7-javadoc.jar; 赠送源代码:jackson-datatype-jsr310-2.9.7-sources.jar; 赠送Maven依赖信息文件:jackson-...
### ANT入门与提高:构建自动化之旅 #### 一、ANT的背景与起源 Apache ANT,一个开源的Java库和命令行工具,旨在提供强大的构建能力,适用于任何类型的Java项目。它的设计初衷是为了替代传统的Unix shell脚本和...
赠送jar包:jackson-datatype-jsr310-2.9.5.jar; 赠送原API文档:jackson-datatype-jsr310-2.9.5-javadoc.jar; 赠送源代码:jackson-datatype-jsr310-2.9.5-sources.jar; 赠送Maven依赖信息文件:jackson-...
第四章主要讲述Ant的数据类型,包括已定义的DataType、XML属性约定等,并详细介绍了各种数据类型的使用方法和应用。第五章讲述了用户如何编写自定义任务,从任务模型、任务生命周期,到通过实际的jar任务示例来分析...
赠送jar包:jackson-datatype-jsr310-2.10.4.jar; 赠送原API文档:jackson-datatype-jsr310-2.10.4-javadoc.jar; 赠送源代码:jackson-datatype-jsr310-2.10.4-sources.jar; 赠送Maven依赖信息文件:jackson-...
jackson-datatype-jsr310-2.9.8.jar
赠送jar包:jackson-datatype-joda-2.12.2.jar; 赠送原API文档:jackson-datatype-joda-2.12.2-javadoc.jar; 赠送源代码:jackson-datatype-joda-2.12.2-sources.jar; 赠送Maven依赖信息文件:jackson-datatype-...
赠送jar包:jackson-datatype-jsr310-2.11.4.jar; 赠送原API文档:jackson-datatype-jsr310-2.11.4-javadoc.jar; 赠送源代码:jackson-datatype-jsr310-2.11.4-sources.jar; 赠送Maven依赖信息文件:jackson-...
赠送jar包:jackson-datatype-jsr310-2.9.7.jar; 赠送原API文档:jackson-datatype-jsr310-2.9.7-javadoc.jar; 赠送源代码:jackson-datatype-jsr310-2.9.7-sources.jar; 赠送Maven依赖信息文件:jackson-...
**C语言之数据类型 Datatype** C语言是一种强大的、低级的编程语言,它提供了丰富的数据类型来处理各种计算和存储需求。数据类型是C语言的基础,它定义了变量所占用的内存大小以及可以存储的值的范围。下面将详细...
赠送jar包:jackson-datatype-jsr310-2.13.1.jar; 赠送原API文档:jackson-datatype-jsr310-2.13.1-javadoc.jar; 赠送源代码:jackson-datatype-jsr310-2.13.1-sources.jar; 赠送Maven依赖信息文件:jackson-...
赠送jar包:jackson-datatype-jdk8-2.12.5.jar; 赠送原API文档:jackson-datatype-jdk8-2.12.5-javadoc.jar; 赠送源代码:jackson-datatype-jdk8-2.12.5-sources.jar; 赠送Maven依赖信息文件:jackson-datatype-...