Bom dia, estou implementando um template em uma aplicação web que envia email. Fiz segundo um tutorial aqui do GUJ usando o javamail e usando o velocity como template.
Tudo funcionou qndo era aplicação desktop, qndo eu jogo p aplicação web ele entra na classe que lê o arquivo template.vm e da um exception dizendo q nao conseguiu achar o arquivo. mas o caminho colocado foi WEB-INF\template.vm.
Logo acima eu leio um arquivo xml de segurança no mesmo local e ele encontra mas o template nao. Já coloquei ele em todos os pontos do projeto e ainda nao consegui achar o template.
Uma observação a classe q fiz p web é a mesma classe q fiz p ler na minha aplicação d teste desktop, a desktop lê, a web nao encontra.
Não costumo usar Velocity mais vamos a algumas observações.
Você falou que o XML esta carregando corretamente mais você chama o xml com
ReaderXML email = new ReaderXML("WEB-INF\\email.xml");
Mais define a template como
String template = "template.vm";
Nao seria corretor colocar
String template = "WEB-INF\\template.vm";
Mais caso não seja isto você deve ver como o comando de merge procura o arquivo da template pois você esta usando path relativo na chamada.
Se ele usar o classpath e carregar o arquivo como resource então lembre que em alicaçoes web o classpath raiz é WEB-INF/classes e não o raiz do contexto.
Pablo_Eteg
Estou com um erro parecido logo quando tento iniciar o velocity
VelocityEngine ve = new VelocityEngine();
ve.init();
VelocityContext context = new VelocityContext();
Template t = ve.getTemplate("template1.vm");
coloquei o template1.vm na mesma pasta da classe java, isto está certo?