Velocity

7 respostas
Flavio_Luiz

ai moçada por favor, preciso de uma ajuda…
o meu Template ñ encontra o meu file… e apresenta esse erro…

Exception in thread "main" org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'src/ant/template.vm' at org.apache.velocity.runtime.resource.ResourceManagerImpl.loadResource(ResourceManagerImpl.java:483) at org.apache.velocity.runtime.resource.ResourceManagerImpl.getResource(ResourceManagerImpl.java:354) at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1400) at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1380) at org.apache.velocity.app.VelocityEngine.getTemplate(VelocityEngine.java:401) at w3s.lab13.MainLab13.main(MainLab13.java:15)

o meu codigo é esse…

VelocityEngine ve = new VelocityEngine(); ve.setProperty("file.resource.loader.path", "d:/templates/"); ve.init(); Template t = ve.getTemplate("src/ant/template.vm"); VelocityContext context = new VelocityContext(); context.put("users", "stes"); StringWriter writer = new StringWriter(); t.merge(context, writer); System.out.println(writer.toString());

de fato file esta no diretorio q estou passando, mas ainda assim ele ñ encontra-o
o q a de errado ?

7 Respostas

Paulo_Silveira

use ve.getTemplate("/ant/template.vm"); caso voce esteja no Eclipse e todo conteudo do seu src nao-java esteja sendo copiando pro bin.

Flavio_Luiz

Paulo eu fiz isso mas não tive sucesso…
o erro persiste…
Como faz essa configuração para que tudo o que não-java seja compilado no bin ?

Thiago_Senna

experimente remover esta linha

ve.setProperty("file.resource.loader.path", "d:/templates/");
Flavio_Luiz
então eu ja removi ela... agora esta assim...
VelocityEngine ve = new VelocityEngine();        
         ve.init();  

         Template t = ve.getTemplate("/ant/template.vm");  
         VelocityContext context = new VelocityContext();  
         context.put("users", "stes");  
        
          StringWriter writer = new StringWriter();  
         t.merge(context, writer);  
         System.out.println(writer.toString());
Thiago_Senna

onde está o template?

caso esteja usando o eclipse o caminho deve ser

  • Seu Projeto
    ---- ant
    ------- templates
    ----------- *.vm <-- seus templates
Flavio_Luiz

De fato estou usando o Eclipse…
acabei de fazer o teste q vc disse… mas ainda assim ñ deu…

Thiago_Senna

duas sugestões… tente isso (tirar a barra no inicio)

Template t = ve.getTemplate("ant/template.vm");

outra sugestao…

Template t = ve.getTemplate("template.vm");

e copie o template.vm para a pasta raiz do seu projeto. Se não encontrar na pasta raiz, va movendo o arquivo template.vm pelo projeto até ele ser encontrado. Ai vc saberá de onde o velocity está carregando os templates.

Criado 29 de setembro de 2009
Ultima resposta 2 de out. de 2009
Respostas 7
Participantes 3