正在读取 Ant 构建中的 .properties 文件.xml
我需要一些使用Ant属性文件的帮助。我有以下几点:
生成属性文件。此文件包含一条信息:
on=1
一个蚂蚁.xml文件。此文件包含我的构建说明。
我想从我的属性文件中读取特性,如果值为“我想在我的构建文件中执行任务”。否则,我希望它什么都不做。任何人都可以指导我如何做到这一点吗?on
1
我需要一些使用Ant属性文件的帮助。我有以下几点:
生成属性文件。此文件包含一条信息:on=1
一个蚂蚁.xml文件。此文件包含我的构建说明。
我想从我的属性文件中读取特性,如果值为“我想在我的构建文件中执行任务”。否则,我希望它什么都不做。任何人都可以指导我如何做到这一点吗?on
1
这应该是您需要做的:
1.获取最新版本的 ant-contrib JAR 并放入 Ant 安装的 lib 文件夹中。
2.在构建脚本中包含您的属性
<property file="build.properties"/>
3.将以下任务定义条目添加到构建脚本中
<taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
4.最后,定义一个 if 任务,如下所示:
<if>
<equals arg1="${on}" arg2="1" />
<then>
<echo message="I am going to do something here" />
</then>
<else>
<echo message="I am going to do nothing" />
</else>
</if>
请注意,可以在从属性文件导入的属性前面附加标识符。例如,您可以像这样进行导入:
<property file="build.properties" prefix="uniqueprefix"/>
然后你会在你的文件中引用“uniqueprefix.on”,而不仅仅是“on”。
<equals arg1="${uniqueprefix.on}" arg2="1" />
你可以使用Ant的内置条件任务,但我有一种感觉,如果你需要它,你最好使用ant-contrib带来的额外功能。另请注意,将生成文件命名为“build.xml”而不是“ant.xml”的标准。实际上,假设您使用的名称,Ant 将无法自动找到它。祝你好运。
如果你不想编写自己的 Ant Task 或使用其他库,只需“清理”ant,看看这个:
mybuild.properties:
on=on
使用 on 或 true 或类似的东西,1 将不起作用。
构建.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project name="project" default="default">
<property file="mybuild.properties"/>
<target name="default" depends="on, off" description="description">
<echo>default</echo>
</target>
<target name="on" if="${on}">
<echo>on</echo>
</target>
<target name="off" unless="${on}">
<echo>off</echo>
</target>
</project>