检索ant build.xml文件中的类路径值

时间:2013-11-08 08:27:04

标签: java linux ant

我是蚂蚁的新手,我写这个来检索类路径:

  <!--
  ## ************************************************************************** 
  ## ENVIRONMENT DEFINITION 
  -->
  <path id="classpath">
    <pathelement path="${env.CLASSPATH}" />
 </path> 
 <property name="extdirs" value="${env.EXTDIRS}" />

它适用于Ubuntu而不适用于Fedora: 这是我的类路径的值:

 echo $CLASSPATH 
/opt/jdk1.7.0/jre/lib/rt.jar:/home/amira/workspace/classes

我尝试使用pathelement的属性位置,但它也不适用于Fedora:

  <pathelement location="${env.CLASSPATH}" />

1 个答案:

答案 0 :(得分:1)

Ant可以访问所有Java properties,因此您可以使用:

<echo>
 ${java.class.path}
 ${java.ext.dirs}
</echo>

除此之外,Ant还有predefined properties

评论后编辑

尝试:

<property environment="env"/>     
<path id="classpath">
 <pathelement path="${env.CLASSPATH}"/>
</path>

<property name="extdirs" value="${env.EXTDIRS}"/>
<dirname file="${ant.file}" property="antfiledirname"/>

<echo>
 Classpath 1 => ${ant.refid:classpath}
 Classpath 2 => ${env.CLASSPATH}
 ExtDIRS     => ${env.EXTDIRS}
 AntFileDirName => ${ antfiledirname}
</echo>

Classpath 1和Classpath 2的输出基本相同,只有少量 区别为Classpath 1中的第一个条目是antfile的完整限定路径 - 表示示例代码段中的$ {ant.file} = $ {antfiledirname}的dirname - 而在Classpath 2中它是'。'