8

struts1およびHibernate構成でのメール送信に速度エンジンテンプレートを使用しています。

エラーが発生しました:org.apache.velocity.exception.ResourceNotFoundExceptionメールを送信しようとしているときに。

私はvelocity1.5.jar、mail.jar、activation.jar、smtp.jarを含めました。

ここにベロシティテンプレートパスを含めます

String velocityTemplate = "mailTemplate/sendMail.vm";

mailTemplateフォルダーはWEB-INF/classesフォルダー内にあります

コードがこの行を実行すると、そのエラーが発生しました

Template template = velocityEngine.getTemplate(velocityTemplate);

誰かがこれに関して私を助けることができますか?

誰かが私を助けてくれればもっと感謝するでしょう。

4

3 に答える 3

9

BenM が言ったように、Resource Loader を ClasspathResourceLoader として構成する必要があります。

velocityEngine.setProperty("resource.loader", "class");
velocityEngine.setProperty("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader"));

velocityEngine.init();

次のjarの最新バージョンを追加しました。今では正常に動作しています。

--> commons-collections-3.2.1.jar

--> commons-lang-2.4.jar

もう一度ありがとうBenM

于 2009-09-09T05:39:44.190 に答える
1

VelocityEngine で init() を呼び出したことを確認します。

リソース ローダーが ClasspathResourceLoader として構成されていることを確認します。詳細については、速度のドキュメントを参照してください。

従来の Velocity クラスの場合、次のようにします。

Velocity.setProperty("resource.loader", "class");
Velocity.init();
于 2009-08-23T07:15:38.307 に答える
0

同じ問題に苦しんでいましたが、最終的に解決しました。

  • テンプレート ファイルはクラス パスにある必要があります。
  • Velocity.properties ファイルは、init() の前に行った設定と競合しません。
  • また、プロジェクトの周りにさまざまなバージョンの複数の jar が散らばっていないことも確認してください。
于 2010-06-22T16:13:59.897 に答える