2010-09-07 3 views
2

Я получаю следующую ошибку при попытке получить доступ к шаблону скорости доступа с помощью URLResourceLoader.Невозможно загрузить шаблон, когда URLResourceLoader используется с Velocity

org.apache.velocity.exception.ResourceNotFoundException: Невозможно найти ресурс 'http://localhost:8080/myvelocityapp/my-template.vm' в org.apache.velocity.runtime.resource.ResourceManagerImpl.loadResource (ResourceManagerImpl.java:483)

I я могу увидеть вышеуказанный файл, если я скопирую URL-адрес в мой браузер. Однако код не может получить доступ к URL-адресу. Мой код шаблонов кажется правильным, потому что он отлично работает, когда я пытаюсь использовать ClassPathResourceLoader. Это просто загрузчик ресурсов url, который дает проблему.

Спасибо.

EDIT ---

Я написал небольшую JUnit, чтобы увидеть, в чем проблема:

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(); 
    } 

} 

И приведенный выше код может получить доступ к URL.

ответ

2

Наконец-то выяснилось, что проблема.

Проблема заключалась в том, что «url.resource.loader.root» не указан.