使用 ANT 动态设置属性

Posted

技术标签:

【中文标题】使用 ANT 动态设置属性【英文标题】:Dynamically set properties using ANT 【发布时间】:2020-01-08 08:59:12 【问题描述】:

现状

我有一个 build.xml 包含以下内容

<property file="../build.properties" /> 

以及一些使用这些属性的目标。

build.properties 包含以下内容

build_item1=item1
#build_item2=item2
build_item3=item3
....
build_item10=item10

期望的情况

我正在尝试修改 build.xml,以便可以从 build.properties 文件中动态定义属性。 我已经对返回以下内容的数据库进行了 SELECT 查询:

ITEM1    
ITEM3
ITEM10

3 rows selected.

有谁能把这个逻辑翻译成 ANT 脚本? (或者至少指出我正确的方向)

感谢任何帮助。

【问题讨论】:

【参考方案1】:

如果您可以从 ANT 运行 SQL 查询(这是我从未尝试过的),那么唯一要记住的关键点是:第一个定义获胜。

这意味着您需要先执行查询并设置属性,然后包含您的属性文件。如果您执行相反的操作,则查询结果将无法覆盖属性文件定义,因为它们会在后面。

【讨论】:

我确实找到了从 ANT 运行 SQL 查询的方法,但没有找到将输出保存到属性中的方法。 您可以将查询输出保存到文件中,然后执行将结果转换为属性文件的脚本,然后使用该属性文件。 这确实是帮助我解决这个问题的方法。谢谢!

以上是关于使用 ANT 动态设置属性的主要内容,如果未能解决你的问题,请参考以下文章

Ant构建失败 - 未设置libs.CopyLibs.classpath属性

将 a 属性设置为没有 Ant 的 maven.compile.classpath 包含的内容

Ant Design of Vue —— Table表格组件 —— 设置动态表头

如何根据ANT中的条件设置属性值?

Ant 属性在 Windows 中是可变的,但在 Unix 中不是?

学习笔记——@RequestMapping注解位置注解属性;@RequestMapping支持Ant风格的路径