如何指定底层目录,然后我们运行像蚂蚁蚂蚁-f somedir / DIR / build.xml文件

2019-08-18 15:45发布

如何指定底层目录,然后我们运行像蚂蚁ant -f somedir/dir/build.xml. 蚂蚁套BASEDIR相对于build.xml中,如果我指定

<project basedir="." ..>

我想有BASEDIR指出执行蚂蚁在什么地方。

Answer 1:

使用-D覆盖BASEDIR属性:

ant -Dbasedir=`pwd` -f path/to/build.xml

使用的pwd是Linux的唯一的事情,但你总是可以把当前目录的绝对路径那里,如果你在其他平台上。

我不认为有办法做到这里面的build.xml,短期重新执行蚂蚁用的ant任务。



Answer 2:

你可以尝试使用subant任务:

假设你有两个不同的文件夹

  1. 您当前的文件夹X:/你/启动/你在哪里执行ant命令文件夹

  2. 文件夹,您的目的地bulid.xml是:Y:/any/folder/with/build.xml

你可以做到以下几点:

X创建build.xml:下一个内容/您/启动/文件夹

<target name="mytarget">
    <subant target="debug">
        <fileset dir="Y:/any/folder/with" includes="build.xml"/>
    </subant>
</target>

然后你就可以从X执行蚂蚁mytarget:/ 你/启动/文件夹中的文件夹,开始建立你的Y:/any/folder/with/build.xml

更新:

您可以覆盖subant建立这样的basedir属性:

    <subant target="debug">
        <property name="basedir" value="./any/dir/with/project"/>
        <fileset dir="Y:/any/folder/with" includes="build.xml"/>
    </subant>


Answer 3:

另一种解决方案(如果它使得在某些情况下更有意义)可覆盖basedir通过var任务 antcontrib扩展如下所述: https://stackoverflow.com/a/25786329/1915920



文章来源: How to specify base dir then we run ant like ant -f somedir/dir/build.xml
标签: java ant