请参阅下面的 Ant 片段 -
<path id="classpath.ejb">
<path refid="${java.class.path}"/>
<pathelement location="${my.id}_session_${version.suffix}.jar"/>
</path>
这里我想查看classpath.ejb
的内容,事实上它由两个元素组成,一个是通用系统$CLASSPATH
(提供为一个 refid
),第二个是另一个 jar。只是出于我的好奇心,我想确保 classpath.ejb
的内容看起来不错。但是当我尝试回声时——
<echo message="java.class.path: ${java.class.path}"/>
<echo message="classpath.ejb: ${toString:classpath.ejb}"/>
第一个 echo 有效,但在第二行中,ant 说 --
BUILD FAILD
build.xml:103:Reference <...my whole $CLASSPATH string...> not found.
有什么想法吗?
最佳答案
您的<path>
有故障。在这一行中:
<path refid="${java.class.path}"/>
你说的是 ${java.class.path}
的值是一个引用,但它不是,它是一个“字符串”路径。因此,您关于缺少引用的错误。例如,您可以将其更改为
<path path="${java.class.path}"/>
这样classpath.ejb
路径由 Java 类路径和“ session ”jar 组成。
否则,请参阅 Path-like Structures 在 Ant 文档中。
关于java - Ant:当路径包含 refid 时如何回显路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19374382/