是否可以在$XXX_HOME
文件中使用build.properties
样式变量?
我在build.properties
这样设置变量的路径
ant.home=/opt/java/myanthome
我有一个$ANT_HOME
环境变量,其路径正确。我可以使用此环境变量在b ant.home
中设置uild.properties
吗?我试图在build.xml中添加它
<property environment="env"/>
<property file="build.properties" />
并在build.properties
文件中:
ant.home=${env.ANT_HOME}
但这不起作用,它说:
${env.ANT_HOME}
不存在
答案 0 :(得分:1)
这是可能的,但这样做是没有意义的。
您可以添加预处理属性文件的filter
。请考虑以下属性文件:
CREATE INDEX events_dtt_idx
ON events
USING btree
(dtt);
CREATE INDEX events_id_desc
ON events
USING btree
(id DESC NULLS LAST);
CREATE INDEX events_cus_idx
ON events
USING btree
(cus);
CREATE INDEX events_id_idx
ON events
USING btree
(id);
然后,您可以对其进行过滤并将文件加载到属性中,如下所示:
ant.home=@ANT_HOME@
过滤器任务除了<filter token="ANT_HOME" value="${env.ANT_HOME}"/>
<copy file="build.properties" tofile="build.properties.filtered" filtering="true" />
<property file="build.properties.filtered" />
之外,还会将filtering=true
令牌替换为@ANT_HOME@
的值。
但是在完成所有这些之后,问题是,为什么要过滤属性文件开始?您只需从文件中删除${env.ANT_HOME}
属性,然后在必要时直接使用ant.home
。