首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过ANT获取和使用父目录

通过ANT获取和使用父目录
EN

Stack Overflow用户
提问于 2011-08-05 01:13:36
回答 2查看 9K关注 0票数 4

我有一个这样的目录结构& build.xml

代码语言:javascript
复制
    /path-to-project/src/prj1
    /path-to-project/src/prj2

    /path-to-project/tests
    /path-to-project/tests/build.xml

我必须以某种方式找到路径

代码语言:javascript
复制
    /path-to-project/

在我的build.xml

我的build.xml是这样的

代码语言:javascript
复制
<project name="php-project-1" default="build" basedir=".">
  <property name="source" value="src"/>
    <target name="phploc" description="Generate phploc.csv">
      <exec executable="phploc">
        <arg value="--log-csv" />
        <arg value="${basedir}/build/logs/phploc.csv" />
        <arg path="${source}" />
      </exec>
    </target>
</project>

在这里,我想以/path-to-project/src/的形式获得${source}的值,但我不能用${parent.dir}获得它

是否可以在build.xml中获取此路径?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-05 01:22:06

您可以像在命令行中一样使用..导航到父目录。

代码语言:javascript
复制
<project name="php-project-1" default="build" basedir=".">
  <property name="root.dir" location=".."/>
  <property name="source" location="${root.dir}/src"/>
  ...
</project>

更新:根据马丁的回答,value更改为location,您应该接受。

票数 9
EN

Stack Overflow用户

发布于 2011-08-05 01:23:57

应使用location属性而不是value来设置source属性:

代码语言:javascript
复制
<property name="source" location="src"/>

然后,Ant将该属性设置为给定位置的绝对路径。如果位置看起来像是相对路径,则绝对路径是相对于basedir计算的。property task还具有其他属性,您可以使用这些属性进一步调优它。

要获取basedir的父目录,您可以类似地使用:

代码语言:javascript
复制
<property name="parent.dir" location=".." />

(至少在unix计算机上,未在windows上测试。)

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6945690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档