2

テンプレートを速度でロードしようとしています。私が持っているのはファイルのパスだけです。しかし、この絶対パスでファイルをロードできないようです。これをどのように行う必要がありますか?

ドキュメントは、絶対テンプレートの読み取りについて非常にあいまいです。

これをRCPプログラムのプラグインで使用しようとしています

4

2 に答える 2

1

テンプレートをプラグイン プロジェクトの "templates/template1.vt" フォルダーに置き、このフォルダーを build.properties に必ず追加してください。以下のいずれかの方法でテンプレート ファイルを取得できます。

one:
 URL url= Activator.getDefault().getBundle().getEntry("templates/template1.vt");
 url = FileLocator.toFileURL(url);
 File file = new File(url.toURI());

second:
url = new URL("platform:/plugin/<plugin id>/templates/template1.vt");
url = FileLocator.toFileURL(url);
File file = new File(url.toURI());
于 2012-09-25T14:42:08.640 に答える
1

最善の選択肢は、Velocity の Resource Loader の概念を調べることだと思います。これは、任意のソースからテンプレートをロードするために Velocity が提供する方法です。詳細については、こちらのドキュメントを参照してください。

それらがどのようにそれを行うかを参照するために、利用可能なものを見ることができます。適切に構成されていれば、おそらく必要なことを正確に実行するFileResourceLoaderがあります。

それが機能しない場合は、基本ResourceLoaderクラスから派生できます。ResourceLoader は、getTemplate() 呼び出しに渡した名前から実際のファイルにマップするだけです。

于 2012-09-30T07:20:08.613 に答える