`

Ant Datatype之Path

    博客分类:
  • Ant
 
阅读更多

 

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>

 

 

 

 

分享到:
评论

相关推荐

    ant.jar下载

    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来管理工程的一些最佳实践;解释了某些Ant问题的解决方法。...path DataType mapperDataType 第五章 用户编写任务 。。。。。。

    jackson-datatype-jsr310-2.13.1-API文档-中文版.zip

    赠送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-...

    jackson-datatype-jsr310-2.12.5-API文档-中文版.zip

    赠送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-...

    jackson-datatype-jdk8-2.13.1-API文档-中英对照版.zip

    赠送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-...

    jackson-datatype-jsr310-2.11.4-API文档-中英对照版.zip

    赠送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-...

    jackson-datatype-jsr310-2.9.7-API文档-中英对照版.zip

    赠送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入门与提高.doc

    ### ANT入门与提高:构建自动化之旅 #### 一、ANT的背景与起源 Apache ANT,一个开源的Java库和命令行工具,旨在提供强大的构建能力,适用于任何类型的Java项目。它的设计初衷是为了替代传统的Unix shell脚本和...

    jackson-datatype-jsr310-2.9.5-API文档-中英对照版.zip

    赠送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权威指南(PDF电子书)

    第四章主要讲述Ant的数据类型,包括已定义的DataType、XML属性约定等,并详细介绍了各种数据类型的使用方法和应用。第五章讲述了用户如何编写自定义任务,从任务模型、任务生命周期,到通过实际的jar任务示例来分析...

    jackson-datatype-jsr310-2.10.4-API文档-中文版.zip

    赠送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

    jackson-datatype-jsr310-2.9.8.jar

    jackson-datatype-joda-2.12.2-API文档-中文版.zip

    赠送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-...

    jackson-datatype-jsr310-2.11.4-API文档-中文版.zip

    赠送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-...

    jackson-datatype-jsr310-2.9.7-API文档-中文版.zip

    赠送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语言之数据类型 Datatype** C语言是一种强大的、低级的编程语言,它提供了丰富的数据类型来处理各种计算和存储需求。数据类型是C语言的基础,它定义了变量所占用的内存大小以及可以存储的值的范围。下面将详细...

    jackson-datatype-jsr310-2.13.1-API文档-中英对照版.zip

    赠送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-...

    jackson-datatype-jdk8-2.12.5-API文档-中文版.zip

    赠送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-...

Global site tag (gtag.js) - Google Analytics