是否可以让 Ant 打印出特定目标的类路径?如果是这样,怎么做?

Posted

技术标签:

【中文标题】是否可以让 Ant 打印出特定目标的类路径?如果是这样,怎么做?【英文标题】:Is it possible to have Ant print out the classpath for a particular target? If so, how? 【发布时间】:2011-01-26 16:34:37 【问题描述】:

我正在尝试构建一个目标,该目标在其<path id="bar.class.path"> 元素(在 build.xml 文件中)中有很长的 <pathelement location="$xxx"/><path refid="foo.class.path"/> 元素列表。我不断收到“com.somecompany.somepackage 包不存在”错误,我很难追踪这些包并确保我已从我们的存储库同步它们。

我是这个团队的新手,所以我对构建不熟悉,但如果可能的话,我更愿意自己解决这个问题(这样我就不会打扰其他非常忙碌的团队成员)。我对 Ant 的经验非常有限。

如果我可以让 Ant 打印出我正在尝试构建的目标的类路径,我认为这会节省很多时间。

【问题讨论】:

【参考方案1】:

使用pathconvert 任务将路径转换为属性

<path id="classpath">
....
</path>

<pathconvert property="classpathProp" refid="classpath"/>

<echo>Classpath is $classpathProp</echo>

Docs for pathconvert.

【讨论】:

【参考方案2】:

使用 Ant > 1.6 版本更容易

<echo>$toString:classpath</echo>

更多信息请参见http://ant.apache.org/manual/using.html#pathshortcut

【讨论】:

以上是关于是否可以让 Ant 打印出特定目标的类路径?如果是这样,怎么做?的主要内容,如果未能解决你的问题,请参考以下文章

如何让特定软件使用指定打印机,而非默认打印机。

如果表包含具有特定值的键

Proguard 关于重复类定义的警告,但不打印出重复的类

Ant属性文件

使用pitest时在ant中过滤类

如何让程序打印它的位置? [复制]