Ant新手 - 相对路径问题

Ale*_*dro 8 eclipse ant build.xml path

请帮忙,我有点疯了!

我正在使用Eclipse生成的antfiles来构建一个带有依赖项的项目,其中一个项目在一个目录中有自己的构建文件,该目录是我正在构建的项目的直接祖先的兄弟.例如,如果我的目录是"/ base/modules/clinicalcontext",则其中一个依赖项的目录只是"/ base/core".

因此,生成的build.xml使用../../core,其中afaik是正确的.但它不是!! 从控制台很明显,Ant返回三个级别,而不仅仅是两个级别(它在"/core/build.xml"上提供了FileNotFound ).

我试图将相对路径更改为"../core",令我惊讶的是,这样Ant就回到了一个级别(它感叹"/ base/modules/core"不存在).那么在世界上我怎么告诉Ant回到两个级别呢?我宁愿避免使用绝对路径,因为有一天我可能不得不将项目移动到另一台机器上.

谢谢大家.

Ale*_*yak 10

所有Ant路径都将相对于您当前的工作目录.

因此,请检查您运行脚本的目录.

我建议你开始使用${basedir}相对于某个位置的路径build.xml.

在您的情况下,相对路径应该像这样构造:${basedir}/../../core而不是../../core.

您遇到的不一致性说明了为什么eclipse生成的ant脚本是一个很好的起点,但从来都不是一个好的项目构建系统.

编辑.我想知道为什么eclipse蚂蚁发生器不会插入${basedir}相对路径?也许您应该将其报告为错误.

  • 是的,但像这样的路径(`../../ core`)与基础相关.`../../ core`取决于你的CWD,`$ {basedir} /../../ core`不是. (3认同)