Eclipse 具有相对路径的蚂蚁问题的新发现
请帮帮我,我有点疯了 我正在使用Eclipse生成的AntFile来构建一个具有依赖关系的项目,其中一个在目录中有自己的构建文件,该目录是我正在构建的项目的直接祖先的同级目录。例如,如果我的目录是“/base/modules/clinicalcontext”,则其中一个依赖项的目录就是“/base/core” 因此,生成的build.xml使用.././core,afaik是正确的。但事实并非如此!!从控制台上看,Ant显然可以追溯到三个级别,而不仅仅是两个级别(它给出了filenotfoundon“/core/build.xml”) 我试图将相对路径更改为“./core”,令我惊讶的是,这样Ant返回了一个级别(它哀叹“/base/modules/core”不存在)。那么,我到底是怎么告诉Ant不要倒退两级的呢?我宁愿避免使用绝对路径,因为有一天我可能不得不将项目移动到另一台机器上Eclipse 具有相对路径的蚂蚁问题的新发现,eclipse,ant,path,build.xml,Eclipse,Ant,Path,Build.xml,请帮帮我,我有点疯了 我正在使用Eclipse生成的AntFile来构建一个具有依赖关系的项目,其中一个在目录中有自己的构建文件,该目录是我正在构建的项目的直接祖先的同级目录。例如,如果我的目录是“/base/modules/clinicalcontext”,则其中一个依赖项的目录就是“/base/core” 因此,生成的build.xml使用.././core,afaik是正确的。但事实并非如此!!从控制台上看,Ant显然可以追溯到三个级别,而不仅仅是两个级别(它给出了filenotfound
谢谢大家。所有Ant路径都将相对于您当前的工作目录 因此,请检查运行脚本的目录 我建议您开始使用
${basedir}
来获取相对于build.xml
位置的路径
在您的情况下,相对路径应该这样构造:${basedir}/../../core
,而不是../../core
您遇到的不一致性说明了为什么eclipse生成的ant脚本是一个好的起点,但从来不是一个好的项目构建系统
编辑。我想知道为什么EclipseAnt生成器不在相对路径中插入
${basedir}
?也许您应该将其报告为bug。${basedir}已正确设置为。这也是我正在使用的构建文件的位置。是的,但是像这样的路径(。/../core
)不是相对于basedir的./../core
依赖于您的CWD,${basedir}/./../core
则不依赖于您的CWD。这样做了,谢谢!我不认为依赖的构建文件不会改变CWD。我正在调用另一个Ant任务中的Ant任务,但是BaseDIR似乎与启动构建的构建文件相关,而不是实际上正在执行的构建文件。