Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 检索ant build.xml文件中的类路径值_Java_Linux_Ant - Fatal编程技术网

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

Java 检索ant build.xml文件中的类路径值,java,linux,ant,Java,Linux,Ant,我是ant的新手,我写这篇文章是为了检索类路径: <!-- ## ************************************************************************** ## ENVIRONMENT DEFINITION --> <path id="classpath"> <pathelement path="${env.CLASSPATH}" /> </path>

我是ant的新手,我写这篇文章是为了检索类路径:

  <!--
  ## ************************************************************************** 
  ## ENVIRONMENT DEFINITION 
  -->
  <path id="classpath">
    <pathelement path="${env.CLASSPATH}" />
 </path> 
 <property name="extdirs" value="${env.EXTDIRS}" />
我尝试使用pathelement的属性位置,但在Fedora上也不起作用:

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

Ant可以访问所有内容,因此您可以使用:

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

${java.class.path}
${java.ext.dirs}
除此之外,蚂蚁也有

评论后编辑

试用:

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

类路径1=>${ant.refid:Classpath}
类路径2=>${env.Classpath}
ExtDIRS=>${env.ExtDIRS}
AntFileDirName=>${AntFileDirName}
类路径1和类路径2的输出本质上是相同的,只有很少的 不同之处在于类路径1中的第一个条目是antfile的完全限定路径
-在示例代码段中,表示${ant.file}=${antfiledirname}的dirname,而在类路径2中是“.”。

您确定在Fedora帐户上设置了类路径吗?没有任何特定于Fedora的东西会导致此失败。是的,我确定,因为当我使用Gnu MakeFile(使用相同的classpath变量)编译时,它可以工作,它会显示[echo]/usr/java/jdk1.7.0_01/jre/lib/ext:/usr/java/packages/lib/ext这不是我要找的同一个类路径:echo$classpath/opt/jdk1.7.0/jre/lib/rt.jar:/home/amira/workspace/classes
<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>