2015-06-29 9 views
13

Wie kann ich auf meine Freemarker-Vorlagedateien (* .ftl) zugreifen, die in meinem src/main/resources-Ordner gespeichert sind (Spring-Boot-Anwendung)?Wie liest man Freemarker Template Dateien aus dem src/main/resources Ordner?

Ich habe versucht, die folgenden

freemarker.template.Configuration config = new Configuration(); 
configuration.setClassForTemplateLoading(this.getClass(), "/resources/templates/"); 

und die folgende Ausnahme erhalten

freemarker.template.TemplateNotFoundException: Template not found for name "my-template.ftl". 

Antwort

17

Die Wurzel des Classpath ist src/main/resources, um den Pfad zu ändern

configuration.setClassForTemplateLoading(this.getClass(), "/templates/"); 
+0

das hat mich gerettet aus Rippen meine Haare raus! danke – Biscuit128

+0

aber wenn wir den Code von JAR-Datei ausführen, wie den Code zu Adapter ändern? wie: java -jar freemarker.jar, in dieser JAR-Datei befindet sich der Templates-Ordner im Wurzelverzeichnis dieses jar-Pakets. –

+0

geben mehr Jungs die Idee hier: neue ClassTemplateLoader (getClass(). GetClassLoader(), "Vorlagen") neue ClassTemplateLoader (getClass(), "/ templates") –