Freemarker のテンプレートローディングのメモ
Freemarker のテンプレートローディングはhttp://fmpp.sourceforge.net/freemarker/pgui_config_templateloading.htmlにある通り、三つの方法があります。この中で二つ目についてのメモ。
Freemarker のテンプレートを含んだ jar を外部から使いたい場合 (ex. Maven のプラグイン) には、テンプレートを探すのに一つ目のディレクトリからの検索はあまり上手くありません。jar の中で Freemaker のテンプレートを含む所と同じ所にあるクラスを二番目の方法で指定すると、読み込みをしてくれます。例えば jar ファイルが
some.package. - fm.template.tmpl.ftl - fm.template.Ref.class
とあれば、
config.setClassForTemplateLoading(Ref.class, "");
で読み込んでくれます。