Je peux accéder aux modèles lorsque j'exécute mon projet localement en eclipse en utilisant un serveur Wildfly. Cependant, il ne parvient pas à trouver les modèles lorsque je l'exécute sur mon serveur prod.VelocityEngine: Ressource de modèle non trouvée
Mes modèles vm se trouve dans un paquet: com.email.templates
J'ai vérifié le dossier WEB-INF et je peux voir que les modèles sont assis dans:
myapp.war\WEB-INF\classes\com\email\templates\
J'initialiser mon VelocityEngine avec les propriétés suivantes:
Properties prop = new Properties();
prop.put(RuntimeConstants.RESOURCE_LOADER, "class");
prop.put("class.resource.loader.class", ClasspathResourceLoader.class.getName());
this.velocityEngine.init(prop);
J'ai essayé les deux méthodes suivantes lorsque vous essayez de chercher t Modèle de l'ourlet:
via org.springframework.ui.velocity.VelocityEngineUtils
Map<String, String> model = new HashMap<String, String>();
model.put("payload", "some payload");
String body = VelocityEngineUtils.mergeTemplateIntoString(this.velocityEngine , "/com/email/templates/my_template.vm", model);
via org.apache.velocity.app.VelocityEngine
StringWriter writer = new StringWriter();
VelocityContext context = new VelocityContext();
context.put("payload", "some payload")
Template template = this.velocityEngine.getTemplate("/com/email/templates/my_template.vm");
template.merge(context, writer);
Utilisez-vous 'Maven'? . Regardez comme votre chemin incorrect définitivement. – soorapadman
J'ai ajouté prop.setProperty ("runtime.log.logsystem.class", "org.apache.velocity.runtime.log.CommonsLogLogChute"). Cela semble avoir résolu le problème. – Fabii