7

我正在使用 Apache Ant 进行一些项目,我的项目布局如下:

project/build.xml
project/properties/build.properties
project/tool/antcontrib.jar 

在这里,当我运行 ant 命令时它工作正常,我的基本目录是 basedir="."

现在,我希望我的项目布局如下:

project/folder/build.xml
project/properties/build.properties
project/tool/antcontrib.jar 

现在,我将基本目录更改为 basedir=".."。我认为它可能会起作用。但它仍然无法正常工作。所以我不知道我们必须为“../”设置我们的 basedir 这是与我的 build.xml 文件中定义的 taskdef 相关的代码块。

<taskdef resource="net/sf/antcontrib/antlib.xml">
        <classpath>
            <pathelement location="${tool.ant.contrib}"/>
        </classpath>
    </taskdef>

注意:我知道 build.xml 和属性文件应该在同一个文件夹中,这是一种标准做法。但我不想遵循这一点..任何人都可以在这里帮助我...

4

1 回答 1

1

为了工作,该属性tool.ant.contrib应该是相对路径,而不是绝对路径。

例如,这个构建工作:

<project basedir="..">
    <property name="tool.ant.contrib" location="tool/antcontrib.jar" />
    <taskdef resource="net/sf/antcontrib/antlib.xml">
        <classpath>
            <pathelement location="${tool.ant.contrib}"/>
        </classpath>
    </taskdef>
    <if><isset property="tool.ant.contrib" />
        <then><echo message="OK" /></then>
    </if>
</project>
于 2013-05-24T22:42:14.490 回答