使用Apache Velocity生成C / C ++语言文件

时间:2015-04-25 07:40:11

标签: java c++ apache velocity directive

我需要生成一个C / C ++源文件,我想使用velocity,因为我已经有了示例输出文件,只需要从示例中更改一些动态部分。问题是模板文件包含很多 #define #include 。有没有办法禁用Velocity的 #define #include 指令?因为在生成时我不会需要它们。

我还想过用#[[...]]#转义文件的那些部分,但这意味着模板文件中有很多变化,我想保持它与尽可能多的样本文件。

1 个答案:

答案 0 :(得分:2)

org.apache.velocity.runtime.RuntimeInstance对象有一个removeDirective(String name)方法,所以我想你只需要调用:

runtimeInstance.removeDirective("define");
runtimeInstance.removeDirective("include");

禁用这两个指令。