ant-path

1、path是ant内置的一种datatype,作用是声明路径之类的东西,在官方的manual中也叫做Path-like Structures,一般是这样声明的 
Xml代码   收藏代码
  1. <path id="id">  
  2.     <pathelement location="location1" />  
  3.     <pathelement location="location2" />  
  4. path>  

或者 
Xml代码   收藏代码
  1. <path id="id">  
  2.     <pathelement path="location1;location2" />  
  3. path>  

或者 
Xml代码   收藏代码
  1. <path id="id">  
  2.     <pathelement path="location1:location2" />  
  3. path>  

声明path的时候,可以用内嵌的元素,来指定若干个位置。元素常用的属性有2个,location可以声明一个路径,path可以声明多个路径,其中用;或者:来分隔 

2、不过简单的情况下,一般不这么写,而是用替代方式 
Xml代码   收藏代码
  1. <path id="id" location="location" />  

或者 
Xml代码   收藏代码
  1. <path id="id" path="location1;location2" />  

或者 
Xml代码   收藏代码
  1. <path id="id" path="location1:location2" />  

很容易看出来,这种形式是第一种的简化写法,效果是一样的 

但是有些时候比较复杂,也就需要用到元素了,比如ant自带的build.xml中 
Xml代码   收藏代码
  1. <path id="classpath">  
  2.     <fileset dir="lib/optional" includes="*.jar"/>  
  3. path>  
  4.   
  5. <path id="tests-classpath">  
  6.     <pathelement location="${build.classes}"/>  
  7.     <path refid="classpath"/>  
  8. path>  

这个例子里,tests-classpath需要组合2个path,所以就不能使用上面说的简化方式了,这里就用到了元素 

3、中可以带一个,这种写法也是很常见的,比如说: 
Xml代码   收藏代码
  1. <path id="classpath">  
  2.     <fileset dir="${lib.dir}">  
  3.         <include name="**/*.jar" />  
  4.     fileset>  
  5. path>  

4、path的使用方式有2种 

第一种是用id声明,然后用refid来引用 
第二种是直接内联 

这2种方式在上面的2里都有例子 

5、build.xml本身是基于xml的,很多元素的写法都可以用属性或者子元素2选1来实现 
Xml代码   收藏代码
  1. <javac srcdir="src" />  

也可以写成 
Xml代码   收藏代码
  1. <javac>  
  2.     <src dir="src" />  
  3. javac>  

效果是一样,其他类似这样的情况还有很多,看多了就习惯了 

6、关于的区别,元素期待看到的是一个路径,而期待看到的是一个文件集合,从这个角度来理解就可以了

你可能感兴趣的:(Ant,xml,path,ant)