2015-06-29 19 views
13

Come accedere ai miei file modello freemarker (* .ftl) memorizzati nella mia cartella src/main/resources dal mio codice (applicazione Spring Boot)?Come leggere i file modello Freemarker dalla cartella src/main/resources?

ho provato la seguente

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

e ottenendo la seguente eccezione

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

risposta

17

La radice del classpath è src/main/resources, modificare il percorso

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

questo mi ha salvato da strappo i miei capelli grazie – Biscuit128

+0

ma se eseguiamo il codice dal file jar, come modificare il codice per adattarlo? come: java -jar freemarker.jar, in questo file jar la cartella templates si trova nella root di questo pacchetto jar. –

+0

dare più ragazzi l'idea qui: nuovo ClassTemplateLoader (getClass(). GetClassLoader(), "templates") new ClassTemplateLoader (getClass(), "/ templates") –