ant - Ant 代码中的 Basedir 问题

标签 ant

我正在使用 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 和属性文件应该在同一个文件夹中,这是一种标准做法。但我不想遵循这一点..任何人都可以在这里帮助我...

最佳答案

为了工作,属性(property)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>

关于ant - Ant 代码中的 Basedir 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16579307/

相关文章:

linux - 保留从 ant sshexec 任务更改的环境变量值

Ant if :true. 将属性设置为 true 不会导致任务执行

Java 相当于 Ant 的 Java 任务中的 fork?

ant - 使用普通 ant 并以文件名作为参数为文件集中的每个文件调用一个任务(没有 contrib 任务,没有自己的任务)

eclipse - 为什么Ant Tomcat任务看似成功,Eclipse却报BUILD FAILED?

java - 有没有办法通过 ANT 或其他构建自动化系统自动生成 JWG 文件/编译 Openscript 文件?

java - 如何自动执行涉及 Eclipse Ant 构建、运行配置和批处理文件的一系列操作?

java - LogicalDoc 构建错误?

ant - 以不同的用户身份运行 ant

java - 单击按钮时引发抽象方法错误