我在 ant 宏定义中使用 concat 目标来生成 ddl 文件。一些属性字符串中的一部分字符串在生成的 ddl 中重复。
只有在从 concat 目标生成时才会观察到这种重复。
我试过 1) 使用破折号而不是下划线,2) 使用 ${property-name} 而不是 @{property-name},3) 使用 echo 目标而不是 concat 目标,4) 从 ant 1.9.3 切换到 1.10 .5 和 5) 进行在线搜索
在 ant 脚本中设置属性
<property name="SCHEMA_ID" value="REPLACE_SCHEMA_ID" />
在 macrodef 中设置的属性
<attribute name="schema-id" default="${SCHEMA_ID}" />
连接目标
<concat destfile="@{dest-dir}/@{spname}.ddl">
SET CURRENT SCHEMA = '@{schema-id}'
@@@@
SET CURRENT SQLID = '@{sql-id}'
@@@@
</concat>
ddl 文件中的输出行
SET CURRENT SCHEMA = 'REPLACE_REPLACE_SCHEMA_ID'
我希望 ddl 文件中的输出行是:
SET CURRENT SCHEMA = 'REPLACE_SCHEMA_ID'