从Ant找到工作目录

时间:2009-10-20 18:01:54

标签: java ant

是否可以告诉用户从哪个目录运行Ant?

例如,我可能只希望在当前工作目录中运行单元测试,而不是整个项目的所有测试。

我试过了:

<property environment="env" />
<echo>${env.CWD}</echo>

但这不起作用。

4 个答案:

答案 0 :(得分:59)

Ant公开了System.getProperties()返回的整个Properties对象。试试这个:

<echo>${user.dir}</echo>

答案 1 :(得分:42)

${basedir}也可能有用。

在Linux下的Netbeans中,${user.dir}似乎总是等于${user.home},但是${basedir}给了我运行ant的实际目录(所以它给了我项目目录)。

答案 2 :(得分:2)

除非您使用的是Windows,否则它将为您提供当前的工作目录:

<exec executable="sh" outputproperty="my.cwd"><arg line="-c pwd"/></exec>

答案 3 :(得分:0)

在Windows下

<exec executable="cmd" outputproperty="my.cwd"><arg line="/C echo %cd%"/></exec>

另请参阅Using ant to detect os and set property