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, ""); 

で読み込んでくれます。