Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.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
Eclipse 具有相对路径的蚂蚁问题的新发现_Eclipse_Ant_Path_Build.xml - Fatal编程技术网

Eclipse 具有相对路径的蚂蚁问题的新发现

Eclipse 具有相对路径的蚂蚁问题的新发现,eclipse,ant,path,build.xml,Eclipse,Ant,Path,Build.xml,请帮帮我,我有点疯了 我正在使用Eclipse生成的AntFile来构建一个具有依赖关系的项目,其中一个在目录中有自己的构建文件,该目录是我正在构建的项目的直接祖先的同级目录。例如,如果我的目录是“/base/modules/clinicalcontext”,则其中一个依赖项的目录就是“/base/core” 因此,生成的build.xml使用.././core,afaik是正确的。但事实并非如此!!从控制台上看,Ant显然可以追溯到三个级别,而不仅仅是两个级别(它给出了filenotfound

请帮帮我,我有点疯了

我正在使用Eclipse生成的AntFile来构建一个具有依赖关系的项目,其中一个在目录中有自己的构建文件,该目录是我正在构建的项目的直接祖先的同级目录。例如,如果我的目录是“/base/modules/clinicalcontext”,则其中一个依赖项的目录就是“/base/core”

因此,生成的build.xml使用.././core,afaik是正确的。但事实并非如此!!从控制台上看,Ant显然可以追溯到三个级别,而不仅仅是两个级别(它给出了filenotfoundon“/core/build.xml”

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


谢谢大家。

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

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

我建议您开始使用
${basedir}
来获取相对于
build.xml
位置的路径

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

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


编辑。我想知道为什么EclipseAnt生成器不在相对路径中插入
${basedir}
?也许您应该将其报告为bug。

${basedir}已正确设置为。这也是我正在使用的构建文件的位置。是的,但是像这样的路径(
。/../core
)不是相对于basedir的
./../core
依赖于您的CWD,
${basedir}/./../core
则不依赖于您的CWD。这样做了,谢谢!我不认为依赖的构建文件不会改变CWD。我正在调用另一个Ant任务中的Ant任务,但是BaseDIR似乎与启动构建的构建文件相关,而不是实际上正在执行的构建文件。