我有一些使用FMPP生成的配置模板 基于csv和属性中的信息的真实运行时配置文件 file(在config.fmpp中定义)。
我希望能够使用同一组模板和config.fmpp信息为同一任务配置第二个群集服务器。但是,生成的运行时配置中需要稍有不同,如果我使用标准的fmpp变量知道我所在的服务器实例(" serverA"或" serverB"),我可以这样做比如${myserver}
。
但是必须只有一组模板和FMPP配置文件,所以我需要以某种方式获得" myserver"的价值。从运行时 每个服务器的环境。
我可能有的一些选择是:
有没有人有一个代码示例来执行这些以及最佳方法的任何建议?在线参考会很棒。
fmpp -S /home/me/sample-project/src -Param myserver:serverA
环境设置:
答案 0 :(得分:1)
使用-D
命令行选项(请参阅--help
):
-D, --data=<TDD> Creates shared data that all templates will see. <TDD> is the
Textual Data Definition, e.g.:
-D "properties(style.properties), onLine:true"
Note that paths like "style.properties" are relative to the
data root directory.
像:
fmpp -S /home/me/sample-project/src -D myserver:serverA
请注意-D
后面有空格。 (它不像java命令行语法,而是像标准的GNU命令行语法。
此
-D
与Java的-D
选项无关。
documentation显示onLine:true
,但此类布尔值是旧版,不再接受。使用online:yes
来解析布尔值。
例如:
fmpp \
-S /path/ \
--verbose \
-D "online:yes"
然后,在模板中:
<p>
online: ${online}
</p>
将导致:
online: yes
--verbose
命令行参数可用于在解析模板时显示任何错误。