我需要生成一个C / C ++源文件,我想使用velocity,因为我已经有了示例输出文件,只需要从示例中更改一些动态部分。问题是模板文件包含很多 #define 和 #include 。有没有办法禁用Velocity的 #define 和 #include 指令?因为在生成时我不会需要它们。
我还想过用#[[...]]#转义文件的那些部分,但这意味着模板文件中有很多变化,我想保持它与尽可能多的样本文件。
答案 0 :(得分:2)
org.apache.velocity.runtime.RuntimeInstance对象有一个removeDirective(String name)方法,所以我想你只需要调用:
runtimeInstance.removeDirective("define");
runtimeInstance.removeDirective("include");
禁用这两个指令。