我正在使用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 =“..”。我认为它可能会奏效。 但它仍然不起作用。 所以我不知道我们要为'../'设置我们的基础 这是与build.xml文件中定义的taskdef相关的代码块。
<taskdef resource="net/sf/antcontrib/antlib.xml">
<classpath>
<pathelement location="${tool.ant.contrib}"/>
</classpath>
</taskdef>
注意:我知道build.xml和属性文件应该在同一文件夹中作为标准做法。但我不想遵循那个......任何人都可以帮助我......
答案 0 :(得分: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>