2009-08-23 7 views
5

Ich verwende die Vorlage für die Geschwindigkeitsmaschinen für das Mailing in der struts1- und der Hibernate-Konfiguration.org.apache.velocity.exception.ResourceNotFoundException

Ich habe Fehler: org.apache.velocity.exception.ResourceNotFoundException während ich versuche, Mail zu senden.

Ich habe Velocity1.5.jar, mail.jar, activation.jar, smtp.jar enthalten.

I umfassen die Geschwindigkeit Vorlage Pfad hier

String velocityTemplate = "mailTemplate/sendMail.vm";

und den Mailtemplate-Ordner in WEB-INF/classes Ordner

ich diesen Fehler bekam, wenn Code diese Zeile

Template template = velocityEngine.getTemplate(velocityTemplate);

führt

Kann mir irgendjemand dabei helfen?

Es wird mehr spürbar, wenn mir jemand helfen wird.

+0

Welche der init() -Methoden der VelocityEngine haben Sie aufgerufen? – BenM

+0

ich nenne dieses Velocity.init(); –

Antwort

5

Wie benm gesagt, dass wir die Ressourcen-Loader als ClasspathResourceLoader

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

velocityEngine.init(); 

und ich habe soeben die neueste Version konfigurieren des folgenden Glases. jetzt funktioniert es richtig.

-> commons-Sammlungen-3.2.1.jar

-> commons-lang-2.4.jar

noch einmal Dank benm

1

Vergewissern Sie sich, dass Sie init() auf Ihrer VelocityEngine aufgerufen haben.

Überprüfen Sie, ob Sie Ihren Ressourcenlader als ClasspathResourceLoader konfiguriert haben. Weitere Informationen finden Sie unter Velocity docs.

Für die Geschwindigkeitsklasse Vermächtnis Sie Folgendes tun würden:

Velocity.setProperty("resource.loader", "class"); 
Velocity.init(); 
+0

Könnten Sie mir bitte sagen, wo dieser Resource Loader konfiguriert werden soll? –

+0

Müssen wir irgendetwas in web.xml konfigurieren? aber ich verwende Geschwindigkeit nur für Mail –

+0

Ich habe aktualisiert, um zu zeigen, wie der Klassenressourcenlader zu konfigurieren. – BenM

0

wurde mit dem gleichen Problem zu kämpfen, schließlich löste es.

  • Vorlagendatei muss im Klassenpfad sein.
  • Die Datei "velocity.properties" steht nicht im Konflikt mit Einstellungen, die Sie vor init() vorgenommen haben.
  • und dass es in Ihrem Projekt nicht mehrere Gläser mit verschiedenen Versionen gibt.