是否有可能以有条件的方式在Ant 属性文件(而不是build.xml
)中设置属性值?例如,如果apache.root
属性已设置 - 否则my_property
将为${apache.root}/myapp
,/var/www/myapp
。如果没有,那么常见的做法是什么 - 可重复使用的文件是build.xml
?蚂蚁属性文件中的条件属性
11
A
回答
24
使用condition任务:
<project name="demo" default="run">
<condition property="my_property" value="${apache.root}/myapp" else="/var/www/myapp">
<isset property="apache.root"/>
</condition>
<target name="run">
<echo message="my_property=${my_property}"/>
</target>
</project>
1
可以包括基于环境或条件变量不同的属性文件。例如
对于<echo>Building ${ant.project.name} on OS: ${os.name}-${os.arch}</echo>
<property file="build-${os.name}.properties" />
这将包括一个名为“建窗口7.properties”或取决于那里,并正在运行“build-Linux.properties”文件。当然,property指令在当前目录以及主目录中查找。所以属性文件可以是构建源的一部分,也可以是构建帐户的主目录。
您可以使用条件标签生成属性文件的名称的一部分,以及选择
1
其中一个条件,你可以用最简单的形式是:
<exec executable="hostname" outputproperty="hostname"/>
<condition property="python" value="/usr/bin/python3.4">
<equals arg1="${hostname}" arg2="host0"/>
</condition>
<property name="python" value="/usr/bin/python"/>
,以适应不同例如python安装路径。在这里,默认的安装路径是/ usr/bin/python,除了host0之外它/usr/bin/python3.4
0
OP询问属性文件,而不是在ant编译文件中。不幸的是,条件不能从属性文件中完成。你可以做的是为每组相关属性分别设置属性文件。例如:
在build.xml
<condition property="app.name" value="appA">
<equals arg1="${appName}" arg2="A" />
</condition>
<condition property="app.name" value="appB">
<equals arg1="${appName}" arg2="B" />
</condition>
<property file="${app.name}.properties" />
<!-- since properties are immutable, set your defaults here -->
<property name="apache.root" value="/var" />
<property file="restOfProps.properties" />
appA.properties
apache.root=/appA
restOfProps.properties
my_property=${apache.root}/myapp
相关问题
- 1. 蚂蚁写属性文件存储过滤的属性
- 2. 蚂蚁:蚂蚁如何找到属性setter方法属性
- 3. 蚂蚁属性覆盖
- 4. 蚂蚁Macrodef属性利用
- 5. 读取属性文件中的属性与蚂蚁不尊重秩序
- 6. 通过阅读属性文件蚂蚁复制文件
- 7. 迭代蚂蚁属性文件中的值的问题?
- 8. 像蚂蚁Maven的pom.xml文件中获取属性值
- 9. 蚂蚁中的动态属性名称
- 10. 蚂蚁阅读密钥值的属性文件
- 11. 属性文件不是通过示例项目的蚂蚁
- 12. 如何读取蚂蚁的属性文件
- 13. 蚂蚁属性内部的问号
- 14. 蚂蚁属性的列表项索引
- 15. 蚂蚁变音属性内的变音属性
- 16. 可变属性的蚂蚁不可变属性
- 17. 蚂蚁的属性值和属性位置有什么区别
- 18. 蚂蚁更换令牌从属性文件
- 19. apache蚂蚁可变文件类型属性
- 20. 从其他构建文件加载蚂蚁属性
- 21. 回声蚂蚁属性到一个文件
- 22. 蚂蚁:扫描文件,并写入属性
- 23. 蚂蚁构建失败 - 因为蚂蚁忘记属性?
- 24. 蚂蚁除非属性不工作?
- 25. junit系统属性与蚂蚁
- 26. 蚂蚁var和属性范围
- 27. 如何让蚂蚁属性文件对项目的所有的build.xml文件
- 28. 条件属性
- 29. 条件属性
- 30. 属性文件中的值注释在linux中加载蚂蚁的代码
谢谢。但是,我问的是'property'文件,而不是'build.xml'。或者,如果我对你有所了解,“条件”任务是实现目标的唯一方法吗? – BreakPhreak
你可以阅读build xml中的属性文件,并且以后可以根据相关属性定义新属性... – Vishal
我希望有一些可以重复使用的属性文件(有条件)可以被几个'build.xml '文件。我瞄准了错误的方向吗? – BreakPhreak