2010-09-07 18 views
2

Je reçois l'erreur suivante lorsque j'essaie d'accéder au modèle Velocity d'accès à l'aide de URLResourceLoader.Impossible de charger le modèle lorsque URLResourceLoader est utilisé avec Velocity

org.apache.velocity.exception.ResourceNotFoundException: Impossible de trouver la ressource 'http://localhost:8080/myvelocityapp/my-template.vm' à org.apache.velocity.runtime.resource.ResourceManagerImpl.loadResource (ResourceManagerImpl.java:483)

I suis capable de voir le dossier ci-dessus si je copie coller l'URL dans mon navigateur. Cependant, le code ne peut pas accéder à l'URL. Mon code de modèle semble être correct car il fonctionne correctement lorsque j'essaie d'utiliser ClassPathResourceLoader. C'est juste le chargeur de ressource d'URL qui donne le problème.

Merci.

EDIT ---

j'ai écrit un petit jUnit pour voir ce que le problème est:

import java.io.IOException; 
import java.net.MalformedURLException; 
import java.net.URL; 

import junit.framework.TestCase; 

public class TestUrl extends TestCase { 

    protected void setUp() throws Exception { 
     super.setUp(); 
    } 

    public void testVelocity() throws IOException { 
     URL url= new URL("http://localhost:8080/myvelocityapp/my-template.vm"); 
     System.out.println(url.openStream().toString()); 

    } 

    protected void tearDown() throws Exception { 
     super.tearDown(); 
    } 

} 

Et le code ci-dessus est en mesure d'accéder à l'URL.

Répondre

2

Enfin trouvé le problème.

Le problème était que "url.resource.loader.root" n'était pas spécifié.